《JavaScript高级程序设计3》阅读笔记,随时更新

Number:任何涉及NaN的操作都返回NaN,NaN与任何职都不相等;isNaN()会根据接受的参数能不能转换成数值判断是不是NaN,能转换成数值返回false ,例如“10”,true
switch:中表达式可以使任何数据类型,case值可以是变量,表达式,在比较值时用的是全等操作,不会发生数据类型转换
函数:所有参数传递的是值,不是引用,复制!!;根据传入函数实参的数量和类型,可以模仿重载
访问变量中的值:保存基本类型值的变量,按值访问。保存引用类型值的变量,按引用访问。
复制变量值:基本类型,重新创建一个基本类型值。引用类型,复制一个指针,实际上指向同一个对象。
确定一个值是那种基本类型,可以使用typeof,确定一个值是那种引用类型,可以使用instanceof操作符。
变量的执行环境,有助于确定应该何时释放内存:标记清楚。解除全局对象对应属性变量的引用,有助于消除循环引用,对于值的回收(标记)垃圾回收有帮助。
使用方括号访问对象的属性,可以通过变量来访问属性。同时可以用来访问具有特殊字符的属性key
indexOf(),lastIndexOf(),查找位置:接收两个参数,(可选),查找起始位置的索引,要查找的项。使用全等操作符,类型相同,值(对象时指针)一样。
任何操作数,与NaN进行关系比较,结果都是false,但要注意做相等操作时,如果一个操作符是NaN,则相等是false,不等是true。关系操作倾向于转换数值,或者都是字符串的情况下,顺序比较字符的编码值。对于对象,则调用valueOf()或者toString()方法。
在进行算术运算时,所有070,和0xa,都被转换成十进制数值。
一元加操作符与Number()函数结果相同。parseInt()忽略前导的空格和后面的字符串,并有可选的基数参数。parseFloat()只有第一个小数点有效,没有第二基数参数,其他进制转换为0,如果参数可解析成整数,则返回整数。
null == undefined 为true,null===undefined为false。如果两个对象比较相等,则看他们的是不是指向同一个对象。undefined==0为false,null==0为false。推荐使用全等与不全等操作。
new Date()接收毫秒和日期字符串,以及表示年,月(基于0),日,时(0-23),分(0-60),秒,毫秒(但是这基于本地时间,而不是GMT时间),返回对象。火狐只支持‘2/1/2015’或者‘英文月名 日,年’否则返回NaN。Date.parse()接收日期字符串,或者日期对象。Date.now()返回调用该函数的时间毫秒数。
dateObj.toLocaleString()="2015/2/28 上午10:40:23" dateObj.toString()="Sat Feb 28 2015 10:40:23 GMT+0800 (中国标准时间)"。但是valueOf()方法返回日期的毫秒数。所以日期对象可以直接比较大小,因为强制转换,调用对象的valueOf()方法。
格式化方法:var testDate = new Date(2015,1,28,16,30,30,233);
testDate.toDateString()="Sat Feb 28 2015"
testDate.toTimeString()="16:30:30 GMT+0800"注意火狐和chrome不一样。
testDate.toLocaleDateString()="2015/2/28"
testDate.toLocaleTimeString()="下午4:30:30"
即使字符串包含双字节字符,每个字符也仍算一个字符。字符串访问个别字符方法‘abc’[2]='c'
数组的slice()方法,不影响原数组,只是根据起始结束位置复制。如果为负数,用数组长度加上该数确定索引位置。splice()会改变原数组1删除:splice(2,2);2插入splice(2,0,‘red’,‘yellow’);3替换splice(2,1,‘red’,‘yellow’)该方法返回删除项组成的数组,不删则为[];
字符串的切片方法有三个,slice()与substring()相似,但是substr()第二个参数代表个数。注意传入负数的时候不一样。且第二个参数可选。
字符串访问索引的方法indexOf()和lastIndexOf(),还有第二个参数,就是开始查找指定字符的起始索引位置,而数组没有,但都是用全等操作。
字符串的trim()方法,返回的是副本。IE8以前注意用trimLeft()timeRight()方法。
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z


encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z


encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值