第五章
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()两个参数,最小值和最大值(包含)