function.prototype.bind = function (that)
var args = .slice.call(arguments, 1); // 呼叫bind傳遞進來的引數,除去第乙個引數obj test.bind(obj, pram)
var ftobind = this;
var fnop = function() {}; // 用來複製this的原型
var fbound = function () ,
bar()
}var f = o.foo.bind();
new f(); // 111 undefined => new 對bind失效,導致this不為,而是foo{}*/}
fnop.prototype = this.prototype;// 繼承原函式的原型,這裡不直接fbound.prototype = this.prototype,是為了避免兩個原型指向同乙個物件,相互影響
fbound.prototype = new fnop();// 利用中介函式實現原型的繼承
return fbound;
}
手寫JavaScript模板引擎
這次的模板是類似下面這樣的 var str 今天是 天氣 我今天的計畫是,var reg g console.log str.match reg 上面的是通過正則進行匹配到的,很明顯匹配到了 這樣子的,w是匹配單詞,但是下面的模板就沒辦法都匹配了 var str 今天是 天氣 我今天的計畫是,var...
javascript函式基礎 this基礎
this是函式體內自帶的乙個物件指標,它能夠始終指向呼叫物件 這個this代表的物件由this所在的執行作用域決定的,而不是根據this所在的定義作用域決定。this 屬性 如果this未包含屬性,則直接傳遞的是當前物件 1.this代表當前操作物件 this即代表 物件input 2.this代表...
javascript 基礎 動畫
function positionwhere js 有兩個地方我一直沒注意 現在寫出來提醒一下自己 1.在html中的匯入是有順序的js的執行的非同步且高速 依賴其他方法執行的指令碼必須在他依賴的指令碼的後面匯入 不然速度太快了 依賴的方法還沒匯入就直接去尋找 找不到的 比如addloadevent...