天天看点

10-29 1.函数的方法 2.arguments 3.包装类1.函数的方法2.arguments3.包装类

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
           

继续阅读