A unit of code that results in a value.
表达式会形成一个值,而这个值它不一定被储存在某变数中。
EX: 1+1 //2
运算子的运算,刚刚上面的范例是加号运算子回传的2,也就是它执行完後就回传这个结果。
再举个例子,等号的运算子,因为它是会回传右边的值的函数,所以
a = 3
是表达式,因为它这个等号运算子回传3。
当陈述式被执行时,并不会回传值。
例如,「宣告」就是陈述式,它不会回传值,但是会储存在记忆体中,代表有这个东西。
EX: var a;
if statement 不会回传值,所以它是陈述式(所以才叫if statement 啊 XD)
var a = if(1===3){
};
VM1065:1 Uncaught SyntaxError: Unexpected token 'if'
像上面这样会出错!
但是if statement 里面小括号放的是 会return true or false 的 expression(表达式)
EX:
function hello(){//这是一个具名函数
console.log('Hello!');
}
创造这个叫hello的函式直接存在记忆体。
而程序一行一行执行到这里并没有回传东西,甚麽事情都没有做。
**而这个陈述式可以被hoisting
/**hoisting: 所有的宣告都会被提升到最顶端,而JavaScript是由上而下逐行执行,所以会有「先使用後宣告」的效果。
可以参考:Shubo 的程序教学笔记 [教学] JavaScript 中的 Hoisting 是什麽意思?let const var 的差异居然是这个?
EX:
var hello = function(){//这是一个匿名函数,当然这个函数要有名称也可以
console.log('hello');
}
你把一函式指派给宣告的一个变数叫hello,代表执行程序时创造并回传了这个函数(这是一个物件)给 var hello。
事实上,函数表达式也是一级函数的一种表现,就是将一个匿名函数 (anonymous function / function literal) 当作值指定给一个变数。
卡斯伯's blog JavaScript 表达式观念及运用 - JS Expression
bonnieli1414 【Day 21】JavaScript 函式
古德瑞 02. 陈述式与表达式
<<: Day 10:AWS是什麽?30天从动漫/影视作品看AWS服务应用 -《夏日大作战》
>>: Day 19: Let's Koin!Koin 实作依赖注入
伪元素 : Before 、After Before 对指定元素添加最後一个子元素 After 对指...
如今,“秘密”(secret)是认证的基础。我们通常使用密码(您知道的东西)、令牌中的加密密钥(您拥...
有时寂寞太沉重,身边彷佛只是观众 Study 後必须套用一下 Tanya 无底洞的歌词,选完使用 W...
今天来谈谈修饰子(Modifier)。 修饰子我觉得可以分为三大类,第一种就是封装用的修饰子,第二种...