1.函數的方法
call() apply() bind()
1- 重定義this
2- bind() 此方法使用時必須添加小括号 bind(重定義的this)()
var name = "小張",age=17;
var obj = {
name:"小王",
// 對象屬性值中的this代表 window
age1:this.age,
myFun:function(fm,t){
// 對象方法中的this代表目前本對象 obj
console.log(this.name+"年齡"+this.age1+"來自"+fm+"去往"+t)
}
}
var db = {
name:"西亞",
age1:23
}
// obj.myFun()
//1- call 支援字元串 數組作為參數
obj.myFun.call(db,["東土大唐","西天取經"],["女兒國"])
// 2- apply 支援數組作為參數
obj.myFun.apply(db,["東土大唐","西天取經"])
// 2- bind() 此方法使用時必須添加小括号 bind(重定義的this)()
obj.myFun.bind(db,"東土大唐","西天取經")()
//3- 支援字元串 數組作為參數
obj.myFun.bind(db,["東土大唐","西天取經"],["女兒國"])()
2.arguments
在調用函數的時候,浏覽器傳遞進來兩個參數
1- 連接配接上下文的this
2- 封裝實參的對象 arguments
arguments 是一個類數組對象
可以通過索引操作資料,并且可以擷取長度 實參
callee 這個屬性對應的是一個對象,目前函數
function fun(){
console.log(arguments)
console.log(Array.isArray(arguments))
console.log(typeof arguments)
console.log(arguments instanceof Array)
console.log(arguments[0])
console.log(arguments.length)
console.log(arguments.callee == fun)
return 123
}
fun(111,2,3,4,5,6,7,8,9)
3.包裝類
基本資料類型
boolean
number
string
null
undefined
引用資料類型
object
js中提供了三個包裝類,都是通過基本資料類型轉為對象
String()
可以将基本資料類型字元串轉為String對象
Number()
可以将基本資料類型數字轉為Number對象
Boolean()
可以将基本資料類型boolean轉為Boolean對象
// 建立一個number對象
var num = new Number(3)
var num2 = new Number(3)
console.log(num,num2)
num.age = 20;
console.log(num)
console.log(num.age)
// new Array
// new Function
// new Object