本文介绍: 在函数中,可以通过return关键字来指定函数的返回值返回值就是函数的执行结果,函数调用完毕返回值便会作为结果返回任何值都可以作为返回值使用(包括对象和函数之类)如果return后不跟任何值,则相当于返回undefined如果不写return,那么函数的返回值依然是undefinedreturn一执行函数立即结束
7、函数的返回值
返回值就是函数的执行结果,函数调用完毕返回值便会作为结果返回
如果return后不跟任何值,则相当于返回undefined
如果不写return,那么函数的返回值依然是undefined
<script>
function sum(a, b) {
// console.log(a + b)
// 计算完成后,将计算的结果返回而不是直接打印
return a + b
}
function fn() {
// return {name:"孙悟空"}
// return ()=>alert(123)
// return
alert(123)
return
alert(456)
}
let result = fn()
// result = sum(123, 456)
// result = sum(10, result)
console.log("result =", result)
</script>
8、箭头函数的返回值
如果直接在箭头后设置对象字面量为返回值时,对象字面量必须使用()括起来
<script>
//不用写return
const sum = (a, b) => a + b
const fn1 = (x) => x.name = "孙行者"
const fn = () => ({name:"孙悟空"})
//三种写法
let result = sum(123, 456)
result = fn()
console.log(result)
</script>
9、作用域
作用域(scope)
全局作用域
局部作用域
<script>
let a = "变量a"
{
let b = "变量b"
{
{
console.log(b)
}
}
}
{
console.log(b)
}
</script>
10、函数作用域
函数作用域
<script>
function fn(){
let a = "fn中的变量a"
console.log(a)
}
fn()
console.log(a)
</script>
11、作用域链
如果找到了则直接使用
如果没找到,则去上一层作用域中寻找,找到了则使用
如果没找到,则继续去上一层寻找,以此类推
如果一直到全局作用域都没找到,则报错 xxx is not defined
<script>
// let a = 10
{
// let a = "第一代码块中的a"
{
// let a = "第二代码块中的a"
// console.log(a)
}
}
let b = 33
function fn(){
let b = 44
function f1(){
let b = 55
console.log(b)
}
f1()
}
fn()
</script>
原文地址:https://blog.csdn.net/wujianrenn/article/details/128404208
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_16063.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。