javascript中NaN是一个数值,NaN不等于任何值,包括它自己,可以用isNaN检测NaN。
Unicode是一个16位字符集,所以javascript中的所有字符都是16位的。
false,null,undefined,空字符串' ',0,NaN被当成是假。其他所有的值被当作真,包括true,“false”,以及所有对象。
typeof 产生的值有number,string,boolean,undefined,function,object
javascript的简单类型包括数字,字符串,布尔,null和undefined,其他所有的值都是对象。对象是属性的容器,其中每个属性都有名字和值。
javascript包括一个原型链特性,允许对象继承另一对象的属性,正确地使用它能减少对象初始化的时间和内存消耗。
对象字面量,一个对象字面量就是包围在一对花括号中的零或多个名/值对。
var stooge={
“first”:“jerjoe”,
"last":“howard”
};
对象字面量中,如果属性名是一个合法的javascript标识符且不是保留字,并不强制用括号括住属性名,所以“first-name”是必须的,而first_name是可以不括号的。
属性的值可以从包括另一个对象字面量在内的任意表达式中获得,对象是可嵌套的。
原型
每个对象都连接到一个原型对象,并且它可以从中继承属性,所有通过字面量创建的对象都连接到object.prototype这个javascript中的标准对象。
原型连接只有在检索值的时候才会被用到,若获取不到对象的某个值,javascript会尝试从原型对象中获取属性值,这个过程称为委托。
原型关系是一种动态的关系,如果添加一个新的属性到原型中,该属性会立即对所有基于该原型创建的对象可见。
hasOwnProperty,如果对象拥有独立的属性,它将返回true,hasOwnProperty方法不会检查原型链。
函数
每个函数在创建时附有两个附加的隐藏属性:函数的上下文,实现函数行为的代码。通过函数字面量创建的函数对象包含一个连接到外部上下文的连接,被称为闭包。
javascript一共有四种调用模式:方法调用模式,函数调用模式,构造器调用模式,apply调用模式。
方法调用模式
当一个函数被保存为对象的一个属性时,我们称之为一个方法。当一个方法被调用时,this被绑定到该对象。
函数调用模式
当一个函数并非一个对象的属性时,那么它被当成一个函数来调用。
构造器调用模式
若在一个函数前面带上new来调用,那么将创建一个隐藏连接到该函数的prototype成员的新对象,同时this绑定到那个新对象上。
apply调用模式
apply方法让我们构建一个参数数组并用其去调用函数,apply方法接收两个参数,第一个将被绑定给this的值,第二个就是一个参数数组。
参数
当函数被调用时,会得到一个参数,那就是arguments数组,通过它函数可访问所有它被调用时传递给他的参数列表。
javascript缺少块级作用域。
闭包
块级作用域的好处是内部函数可以访问定义它们的外部函数的参数和变量。内部函数拥有比他的外部函数更长的生命周期。
运算符优先级
| . [ ] () | 属性存取及函数调用 |
| delete new typeof + -! | 一元运算符 |
| * / % | 乘法,除法,取模 |
| + - | 加法,减法 |
| >= <= > < | 不等式运算符 |
| === ! == | 等式运算符 |
| && | 逻辑与 |
| || | 逻辑或 |
| ?: |
三元
|
本文深入探讨了JavaScript的基础知识,包括特殊值NaN的理解及其检测方法、简单类型与对象的区别、对象的创建方式及其属性访问机制、原型链的工作原理、函数的不同调用模式、参数的处理方式以及闭包的作用。
489

被折叠的 条评论
为什么被折叠?



