return 语句
作用1: 结束函数执行,返回到函数调用处
=> 在函数体中使用
作用2: return 值
=> 将值返回给函数调用语句
function fn(){
console.log('1111')
console.log('2222')
return//结束函数执行,返回到函数调用处
console.log('3333')
}
function fn1(){
console.log('1111')
console.log('2222')
return 100
}
console.log('程序开始')
// fn()
var m = fn1()
console.log( 'm :',m )
console.log('程序结束')
示例一
function getMaxTwo(m, n) {
var max = m
if (n > max) {
max = n
}
return max
}
var m = getMaxTwo(34, 28)
console.log('最大值 ', m)
预解析
javascript源代码 -> 浏览器加载执行 -> 输出结果
|
预解析
1. 声明式函数提到代码最上面
2. var 声明的变量提到代码最上面
fn()
console.log('f1 ',f );
function fn(){
console.log('fn >>>')
}
var f = 100
console.log('f2 ',f );
// function fn(){
// console.log('fn >>>')
// }
// var f
// fn()
// f = 100
当遇到同名函数和变量时
=> 预解析优先处理函数
fn()
function fn(){
console.log('fn >>>');
}
fn()
var fn = 100
fn()
// function fn(){
// console.log('fn >>>');
// }
// var fn
// fn() // 函数调用语句
// fn()
// fn = 100 // 变量赋值
// fn() // fn 不是一个函数
if语句块不管条件是否满足都会执行预解析
console.log('num 11', num);
if (3 > 5) {
var num = 100
}
console.log('num 22 ', num);
return语句后的代码也会预解析
function fn() {
console.log(num) // num is not defined
if (true) {
return
}
var num = 100
console.log(num)
}
fn()
预解析练习
console.log(num)
var num = 10
f()
console.log(f2)
function f() {
console.log(n)
var n = 20
console.log(n)
}
console.log(num)
var f2 = function () {
console.log('我是f2')
}
// var num
// var n
// var f2
// function f() {
// console.log(n) // undefined
// n = 20
// console.log(n) //20
// }
// //----------------------
// console.log(num) //undefined
// num = 10
// f()
// console.log(f2) //undefined
// console.log(num) // 10
// f2 = function () {
// console.log('我是f2')
// }