1 var addNum = { // 创建一个方法,给val的值 加num 2 num: 5, 3 fun: function(val) { 4 return this.num + val; 5 } 6 } 7 8 Function.prototype.bind = function(obj){ // Function是对象,prototype.bind是给对象增加一个新方法 9 var method = this; 10 return function(){ 11 return method.apply(obj, arguments); 12 } 13 } 14 15 var foo1 = addNum.fun(3); 16 17 var addJSON = { 18 num: 10 19 }; 20 var foo2 = addNum.fun.bind(addJSON); 21 22 console.log(foo1); // 8 23 console.log(foo2(3)); // 13
bind方法和apply方法已经在前面的文章提到了,请查看相应链接。
http://www.cnblogs.com/johnnylion/p/3937325.html
http://www.cnblogs.com/johnnylion/p/3937456.html
数据类型
ECMAScript中有6中数据类型。包括:5种简单数据类型(也称为基本数据类型)和1种复杂数据类型。
简单数据类型:
Undefined | Null | Boolean | Number | String
复杂数据类型:
Object
typeof操作符
typeof可以检测给定变量的数据类型。对一个值使用typeof操作符可能返回下列某个字符串:
undefined:如果这个值是未定义
boolean:******布尔型
string:******字符串
number:******数值
object:******对象或者null
function:******函数
示例
var message = "some string"; console.log(typeof message); // string console.log(typeof (message)); // string console.log(typeof 95); // number
instanceof
o instanceof Type:判断对象o是否属于Type类型,如果o是Type类型子类的实例,同样满足。
示例
1 var o=[]; 2 console.log(o instanceof Array); // true 3 console.log(o instanceof Object); // true 4 var f=function(){} 5 console.log(f instanceof Function); // true 6 console.log(f instanceof Object); // true