toString() 方法和 Object.prototype.toString.call() 方法對比
1 var arr=[1,2]; 2 3 //直接對一個陣列呼叫toString() 4 arr.toString();// "1,2" 5 6 //通過call指定arr陣列為Object.prototype物件中的toString方法的背景關系 7 Object.prototype.toString.call(arr); //"[object Array]"
toString()方法在陣列中重寫了
Object.prototype.toString.call()作用可以判斷資料型別
vue原始碼中是這么使用的
var _toString = Object.prototype.toString;
function toRawType (value) { return _toString.call(value).slice(8, -1) }
1. 知識點1 Object.prototype.toString
原型方法
2. call 方法
作用是修改this的指向
var person = {
firstName:'123',
lastName:'456',
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
var person1 = {
firstName:"Bill",
lastName: "Gates",
}
var person2 = {
firstName:"Steve",
lastName: "Jobs",
}
person.fullName();//列印 123456
person.fullName.call(person1); // 列印 "Bill Gates" 通過call方法,把fullName方法里的 this指向了person2這個物件,也可以變相的理解為person1繼承了fullName方法,實際person1是沒有添加fullName方法的
3. slice 方法
slice() 方法可從已有的陣列中回傳選定的元素,
slice()方法可提取字串的某個部分,并以新的字串回傳被提取的部分,
注意: slice() 方法不會改變原始陣列,回傳一個新的陣列,包含從 start 到 end (不包括該元素)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/489.html
標籤:其他
