JavaScript语言精粹
javascript
- 使用
Object.hasOwnProperty()检测属性名是否为对象的成员,还是原型链的成员1
2
3
4
5
6
7
8
9var obj = {
a: 1, b: 2, c: 3
};
obj.__proto__.d = 4;
for (i in obj) {
console.log(i);//a,b,c,d
console.log(obj.hasOwnProperty(i));//true,true,true,false
}
try语句执行一个代码块,并捕获该代码块抛出的任何异常,catch从语句定义了一个新的变量,它将接受异常对象.- try 语句测试代码块的错误。
- catch 语句处理错误。
- throw 语句创建自定义错误。
1 | function message() { |
typeof运算符产生的值有number、string、boolean、undefined、function、object。如果运算数是一个数组或者null,其反正值为Object
+运算符可以进行加法运算或字符串连接.如果你想要的是加法运算,请确保两个运算数都是数字.
/运算符可能会产生一个非整数结果,即使两个运算数都是整数.
- JavaScript基本数据类型包括:数值、字符串、布尔值、
null和undefined,其它的所有值为对象。字符串、布尔值和数值‘貌似’是对象,因为他们都有方法,但他们是不可变得。JavaScript中的对象是可变的键控对象,数组、函数、正则表达式都是对象,当然对象object更是对象。 ||运算符可以用来填充默认值:1
2var middle = stooge["middle-name"] || "(none)";
var status = flight.status || "unknown";
typeof会检测原型链hasOwnProperty()不检测原型链
apply调用模式
1 | var Que = function (string) { |
apply将get_status()的this指向statusObject
参数arguments
1 | var sum = function () { |