javascript-NOTE
数据类型
undefined
表示对象属性不存在或变量未赋值的特殊值。
不能通过变量值与undefined的比较来确定一个变量是否存在。如果需要确定是否声明,可以使用typeof。
if(typeof(x)==“undefined”)\
null与undefined不同,但是使用 == 比较两者,结果却是真。
常用函数
isNAN()
检测某个人值是否是NaN
## isFinite()
用于检测一个表达式的值是否为无穷大
encodeURI()
返回对一个URI字符串的编码后的结果
- 对ASCII中的字母和数字不编码。
- “. ! ’ * ()” 和URI中特殊的含义的ASCII标点符号也不会转义,如“; ? : + - &”等、。
- 其他字符转换成UTF-8编码。其中 ASCII由一个 %xx 转义字符替换,在\u0080到\u07ff之间的编码的由两个转义序列替换,其他的Unicode字符由三个转义序列替换。
decodeURI()
对已经进行编码的URI进行逆变换。
js闭包
为什么使用闭包
减少全局变量的使用,增加代码维护度、系统安全性。
原理
- 在函数外部访问函数内部局部变量。
外部函数 f1(){
var 变量 a;
定义: 内部函数 f2(){
访问变量 a;
}
return f2;
}//外部使用f2();
引用变量 var f = f1();
f();
- 内部函数f2可以访问外部函数f1局部变量a
- 外部函数f1局部变量a的生命周期也会因为内部函数f2使用该变量而得到延长
- 直到内部函数f2执行完且 ,指向内部函数的引用 f不再使用, 此时要被访问的变量a不再使用,也就是该外部函数的变量 a生命周期结束的时候。
代码:
function set(val) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 noticase!
评论
ValineLivere