当前位置: 代码迷 >> 综合 >> 10.JS函数
  详细解决方案

10.JS函数

热度:75   发布时间:2023-09-19 16:17:01.0
  1. 函数的 5 种声明
  2. 如何调用函数 f.call
  3. this 和 arguments
  4. 什么是 call stack
  5. 作用域
  6. 闭包
  7. call、apply

 

1.函数声明

//关键字
function x(参数1,参数2){return 参数1+参数2;
}
//x()对象
//x.call() 执行对象的函数体 真实用法  x.call(undefined,参数1,参数2)//匿名函数 必须赋给变量
var f = function (参数1,参数2){return 参数1+参数2;
}//外部直接x();报错!!!
//  f.name    结果是 x
var f = function x(参数1,参数2){//x();可以。return 参数1+参数2;
}//少用
//  f.name    结果是 anonymous//匿名
var f = new Function('x','y','return x+y'){}//箭头函数
(x,y)=>{return x+y;}

2.this 和 arguments

//call的第一个参数可以用this得到.
//call的后面参数是arguments.

```

function log(msg) {
        console.log.call(this,msg);
    }
    log('1'); // 1
    log('1','2');// 1

    function log(a) {
        console.log.apply(console, arguments);
    };
    log(1); //1
    log(1, 2); //1 2

```

作用域、闭包

a = 3;//先赋值,当作用域内找不到时,a再声明。
//声明提升。变量提升!!!就近原则。
//闭包:如果一个函数,使用了他范围外的变量,那么(这个函数+这个变量)就叫闭包

var f1 = function f2(){} 
f1.name = 'f2'var f1 = function f2(){}
console.log(f2);//f2 is not defined(f2 不存在,而且 f2 不是 undefined)function f(){console.log(this)
}
f.call(1) // Number 对象 1function f(){'use strict'console.log(this)
}
f.call(1) //1function f(){console.log(this)
}
f.call() //windowfunction f(){'use strict'console.log(this)
}
f.call() //undefinedvar a = console.log(1) //undefinedfunction f(){return 1
}
a = f //a的值是函数ffunction f(){return 1
}
var a = f.call() //a的值是1var a = 1,2; //a的值是报错var a = (1,2);//a的值是2var a = (1, console.log(2)) //a 的值是什么undefinedfunction f(){return function f2(){}
}
var a = f.call() //函数 f2function f(){return function f2(){}
}
var a = f.call()
var b = a.call() //a的值undefinedfunction f1(){console.log(this)//obj 对象function f2(){}
}
var obj = {name: 'obj'}
f1.call( obj )

 

 

 

 

G

M

T

 

 

  检测语言世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语信德语修纳语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语卢森堡语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语吉尔吉斯语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语夏威夷语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语库尔德语弗里西语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语普什图语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语科萨科西嘉语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苏格兰盖尔语苗语英语荷兰语菲律宾语萨摩亚语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿姆哈拉语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语

 

世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语信德语修纳语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语卢森堡语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语吉尔吉斯语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语夏威夷语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语库尔德语弗里西语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语普什图语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语科萨科西嘉语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苏格兰盖尔语苗语英语荷兰语菲律宾语萨摩亚语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿姆哈拉语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语

 

 

 

 

 

 

 

 

 

文本转语音功能仅限200个字符

 

 

 

选项 : 历史 : 反馈 : Donate 关闭
  相关解决方案