javascript学习硬知识(二)

函数的相关素养

高内聚 低耦合 ->模块的单一责任制

解耦合 提取相同代码
var a=1 声明的局部变量
var a=b=1 b为全局的。先b=1再a=b

立即执行函数
1.自动执行,执行完成立即释放
2.立即执行函数-初始化函数

(function(){

})();

(function(a,b){
console.log(a+b) //3
}(//实参,例如1,2));//w3c建议

call/apply 必考

function test(){
console.log(‘a’);
}

test(); //相当于test.call();

function Car(brand,color) {
this.brand=brand;
this.color=color;
}
var newCar={};

Car.call(newCar,‘Benz’,‘red’)
Car.apply(newCar,[‘Benz’,‘red’])
实际上把this改成了newCar。指向变成了newCar
这样可以通过newCar拿到function里面的参数,函数。

function Compute(){
this.plus=function (a,b) {
console.log(a+b)
}

this.minus=function (a,b) {
	console.log(a-b)
}

}

function FullCompute(){
Compute.apply(this)
this.mul=function (a,b) {
console.log(a*b)
}

this.div=function (a,b) {
	console.log(a/b)
}

}
var Compute=new FullCompute();

callee/calller

function test(a,b,c){
console.log(arguments.callee) 可以找到对应的函数 这里打印test
test.length=3 形参有3个,abc
arguments.length=2 实参只传了2个
返回函数括号里面的参数长度
}
test(1, 2)

caller会打印谁调用了它

test1()
function test1() {
test2();
}
function test2() {
console.log(test2.caller());//打印test1
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值