JavaScript 权威指南学习记录
2016-01-28 00:00
302 查看
2016.1.28
3.1.3JavaScript中的算术运算
NaN(Not a Number)无法通过x==NaN来判断变量x是否是NaN,相反,应当使用x!=x来判断,当且仅当x为NaN的时候,表达式的结果才是true。
isFinite(),在参数不是NaN、Infinity或-Infinity的时候返回true。
负零值与正零值相等,除了作为除数外。
3.3布尔值
下面这些值会被转换成false:underfined、null、0、-0、NaN、""//空字符串
3.6包装对象
第二行代码创建一个临时字符串对象,并给其len属性赋值为4,随即销毁这个对象。最后尝试读取len值,这个属性值自然不存在。存取字符串、数字或布尔值的属性时创建的临时对象称做包装对象。
var s ="test";
var x =new String(s);
x.len=4;
var t= x.len;
console.log(t);//返回undefined
console.log(x==s);//返回true,如果===则返回false
3.7不可变得原始值和可变的对象引用
对象的比较与值的比较是不相同的:即使两个对象包含同样的属性及相同的值,它们也是不相等的。各个索引元素完成相等的两个数组也不相等。
3.8对象转换为原始值
对象到布尔值:所有的对象(包括数值和函数)都转换为true。
3.10.1函数作用域和声明提前
JavaScript中使用函数作用域,变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的。
JavaScript函数里声明的所有变量都被"提前"至函数体的顶部。
全局变量和局部变量
var i =0;//全局变量
n=0;//全局变量
function demo(){
var a =0;//局部变量
b=0;//全局变量
}
2016/2/4
8.7函数属性、方法和构造函数
8.7.1length属性
在函数的体内,可以用arguments.length来表示传入函数的实参的个数,即实参的真实个数
而使用arguments.callee.lengh则表示期望的实参个数。
3.1.3JavaScript中的算术运算
NaN(Not a Number)无法通过x==NaN来判断变量x是否是NaN,相反,应当使用x!=x来判断,当且仅当x为NaN的时候,表达式的结果才是true。
isFinite(),在参数不是NaN、Infinity或-Infinity的时候返回true。
负零值与正零值相等,除了作为除数外。
3.3布尔值
下面这些值会被转换成false:underfined、null、0、-0、NaN、""//空字符串
3.6包装对象
var s ="test"; x.len=4; var t= x.len; console.log(t);//返回undefined
第二行代码创建一个临时字符串对象,并给其len属性赋值为4,随即销毁这个对象。最后尝试读取len值,这个属性值自然不存在。存取字符串、数字或布尔值的属性时创建的临时对象称做包装对象。
var s ="test";
var x =new String(s);
x.len=4;
var t= x.len;
console.log(t);//返回undefined
console.log(x==s);//返回true,如果===则返回false
3.7不可变得原始值和可变的对象引用
对象的比较与值的比较是不相同的:即使两个对象包含同样的属性及相同的值,它们也是不相等的。各个索引元素完成相等的两个数组也不相等。
3.8对象转换为原始值
对象到布尔值:所有的对象(包括数值和函数)都转换为true。
3.10.1函数作用域和声明提前
JavaScript中使用函数作用域,变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的。
JavaScript函数里声明的所有变量都被"提前"至函数体的顶部。
var scope ="global"; function f(){ console.log(scope);//输出"undefined" var scope="local";//变量在这个赋初始值,但变量本身在函数体内任何地方均是有定义的 console.log(scope);//输出"local" }
全局变量和局部变量
var i =0;//全局变量
n=0;//全局变量
function demo(){
var a =0;//局部变量
b=0;//全局变量
}
2016/2/4
8.7函数属性、方法和构造函数
8.7.1length属性
在函数的体内,可以用arguments.length来表示传入函数的实参的个数,即实参的真实个数
而使用arguments.callee.lengh则表示期望的实参个数。
function ra(a,b){ this.a=a; this.b=b; var h=arguments.callee.length; var i=arguments.length; console.log(h);//h的值为2 console.log(i);//i的值为1 } ra(1);
相关文章推荐
- js正则表达式
- EL+servlet+jsp实现简单的投票程序版本二
- Three.js typescript definitely typed 文件
- Swipe JS – 移动WEB页面内容触摸滑动类库
- js 自定义滑块 实现文字滚动+透明度变化
- Javascript异步编程的4种方法
- javascript 简单ajax 框架
- js 完全分离 window.onload=
- 关于js中两种定时器的设置及清除
- [转]深入理解JavaScript的变量作用域
- JS笔记
- moon javaScript简介 第1章和 在HTML中使用javaScript第2章
- js实现在编辑框input下根据输入内容显示匹配内容的下拉列表(二)
- js实现在编辑框input下根据输入内容显示匹配内容的下拉列表(一)
- [Javascript] Web APIs: Persisting browser data with window.localStorage
- JS数组的forEach方法(兼容所有浏览器)
- javascript学习笔记之四
- 怎样让js不产生冲突,避免全局变量的泛滥,合理运用命名空间
- Web components新玩具——X-View
- javascript中的Array对象的方法