第五章
var person = {
name:"a",
age:10,
5: true
};
- “first name”中包含一个空格,所以不能使用点表示法来访问它,但是可以person[“first name”]
- 数组的每一项可以保存任何类型的数据
var c = new Array(20);
var c = new Array("red", "blue", "green");
- 每当在数组末尾添加一项后,其length属性都会自动更新以反应这一变化
var c = ["red", "blue"]
c[99] = "green"
- 检测数组 value instanceof Array 对多个全局环境时,无法判断准确
- Array.isArray(value) 则可以
- 栈
- 队列
- shift()和push()方法。shift取得第一项,并且删除第一项。
- unshift():在数组的前端添加任意个项并返回新数组的长度
- reverse()和sort()
- concat()可以基于当前数组中的所有项创建一个新数组
- splice()方法
- 删除:删除任意数量的项。两个参数。第一个表示要删除的第一项的位置,第二个表示要删除的项数
- 插入:可以向指定位置插入任意数量的项。三个参数。起始位置,0,和要插入的项
- 替换:可以向指定位置插入任意数量的项。三个参数。
- indexOf()和lastIndexOf()
- 迭代方法
- every() 如果每一项都返回true,则返回true
- filter() 返回true组成的数组
- forEach()
- map() 返回结果组成的数组
- some() 任一项返回true,则返回true
- 缩小方法
- reduce() reduceRight()(从右边开始)
- 迭代所有项,构建一个最终返回的值
- Date类型
- var now = new Date();
- Date.parse()接受一个表示日期的字符创参数,然后尝试根据这个字符串返回相应日期的毫秒数
- 支持的格式
- 6/13/2004
- January 12, 2004
- Tue May 25 2004 00:00:00 GMT-0700
- YYYY-MM-DDTHH:mm:ss.sssZ
- 如果不能表示日期,返回NaN
- Date.UTC()返回日期的毫秒数
- 参数分别是面,月(0开始), 日,时,分,秒,毫秒。前两个必须
- Date构造函数会调Date.parse()和Date.UTC()。日期和时间都基于本地时区而非GMT来创建
- Date.now()返回调用方法时的日期和时间的毫秒数
- toLocaleString()会按照浏览器设置的地区相适应的格式返回日期和时间
- RegExp类型
- var expression = / pattern / flags
- 三种标志
- g: 不会在发现第一个匹配项时停止
- i:不区分大小写
- m: 多行。到达文本末尾时还会继续查找下一行
- RegExp对象的主要方法是exec()参数是要应用模式的字符串
- 返回为数组,包含额外属性index和input
- 如果是全局模式,每次调用exec都会返回下一个匹配项
- test() 匹配时为true
function sum1(num1, num2) {
return num1 + num2
}
var sum2 = sum1
sum1 = null
sum2(5, 5)
- 理解为什么js没有重载?因为后面定义的函数覆盖了前面的函数。
- 函数内部属性
- arguments
- callee: 指向拥有这个arguments对象的函数. arguments.callee
- caller: 调用者。 arguments.callee.caller
- 函数方法
- apply()
- 两个参数,一个是在其中运行函数的作用域,另一个是参数数组
- 在特定的作用域中调用函数
- call()
- 包装基本类型
- 基本类型不是对象,从逻辑上讲没有方法。后台自动完成一系列的处理
- 创建string类型的一个实例
- 实例上调用制定方法
- 销毁这个实例
var s1 = "some text"
s1.color = "red"
alert(s1.color)
var num = 10
alert(num.toFixed(num))
- number
- toFixed()按照指定的小数位返回数值的字符串表示
- toExponential() 格式化数值 科学计数
- toPrecision() 可能返回固定大小,可能返回指数,具体看哪种格式最合适
- string
- concat() 拼接字符串
- indexOf lastIndexOf
- trim() 删除前置及后缀的所有空格
- toLowerCase toUpperCase大小写转换
- match 模式匹配,参数为RegExp对象或者正则表达式,返回数组
- replace 第一个参数RegExp或者字符串,第二个是字符串或者函数
- htmlEscape 转义小于号,大于号,和号,双引号
- split 根据分隔符分隔字符串,结果为数组
- Global对象
- URI编码
- encodeURI
- 用于整个URI, 不会对URI的特殊字符进行编码,比如冒号,/ , ? #
- encodeURIComponent
- decodeURI只能对使用encodeURI的解码,同理decodeURIComponent
- eval() 参数为js语句字符串
- Math.random() 0~1,不包括0和1
- selectFrom()两个参数,最小值和最大值(包含)