背景
前兩天在做小程式的需求的時候用到bind的時候才想起自己對這三的東西的了解比較淺薄,這個時候用的時候就有點怕。時候還是要好好學習下,理解下怎麼玩。
let obj1 =
}let obj2 =
console.log(obj1.getname()); // "copyes"
console.log(obj1.getname.call(obj2)); // "fanchao"
function showargs(a, b, c)
showargs.call(this, 3,4,5);
let arr1 = [12, 'foo', , -1024];
let arr2 = ['copyes', '22', 1024];
console.log(arr1);
// [ 12, 'foo', , -1024, 'copyes', '22', 1024 ]
let numbers = [5,665,32,773,77,3,996];
let maxnum2 = math.min.call(math, 5,665,32,773,77,3,996);
console.log(maxnum);
console.log(maxnum2);
function isarray(obj)
console.log(isarray(1));
console.log(isarray([1,2]));
var domnodes = array.prototype.slice.call(document.getelementsbytagname("*"));
定義乙個 log 方法,讓它可以** console.log 方法:
// 常規做法
function log(msg)
log(12);
log(1,2)
上面能夠基本解決列印輸出問題,但是下面多引數的時候就gg了。換個更好的方式吧。
function log()
log(12);
log(1,2)
接下來是要在每一條列印資訊前面都要加上乙個特定字串'fanchao`s'又怎麼說呢?
function log()
log(12);
log(1,2)
var func = function()
func(); // undefined, {}
var obj =
var bar = func.bind(obj,1);
bar(); // 2 ,
乙個有意思的事:
var bar = function()
var foo =
var sed =
var func = bar.bind(foo).bind(sed);
func(); //3
var fiv =
var func = bar.bind(foo).bind(sed).bind(fiv);
func(); //3
5、這三個方法的異同點是什麼呢?還是先看個栗子:
var obj = ;
var foo =
}console.log(foo.getx.bind(obj)()); //81
console.log(foo.getx.call(obj)); //81
前端PS基礎
1.ps 技能需求 工具需求 ps技能的需求 切圖 修圖 測量 ps工具 移動工具 移 層 矩形選框工具 切圖 選定圖層後,利用矩形選框選取所需區域,複製貼上即可 矩形選框是對單一圖層的操作 裁切工具 切圖 選取所需區域後,回車確認 裁切工具是對工作區域的操作 吸管工具 識色 橫排文字工具 手抓 移...
前端開發基礎
前端開發基礎 1.輸入兩個數字,分別在螢幕上輸出兩數之和 之差 之積 求商 取餘,如 兩數之和為 xx 並且換行。prompt接收到的值是乙個字串型別 var x prompt 請輸入 10 var y prompt 請輸入 20 需要將x和y轉化成數字型 parseint 將括號內的值轉換為整數型...
前端最基礎
盒子模型 例如div元素,可以把它看作是乙個盒子,它有自己的寬和高。而盒子模型是說每個盒子有自己的 width height padding margin border width 就相當於盒子裡面所裝東西的寬度,height 就相當於盒子裡面所裝東西的高度,padding 就是盒子裡所裝的東西和盒...