Function.prototype.bind相关知识点

 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

 引用类似

Object | Array | Date | RegExp | Function

原文地址:https://www.cnblogs.com/johnnylion/p/3938759.html