前言:大家好 我是阿飞~今天说下js里的一些概念性问题。我的建议是大致了解下即可,不必深究。钻的太深的话会疼的。。。。
表达式 语句 表达式语句
表达式
什么是表达式?
1.有 变量 和 运算符 参与的式子就是表达式。你写的任何一条语句,哪怕声明一个变量,哪怕一个简单计算,都是表达式
var a = 2 是变量声明 这也是表达式
1+1 运算符为 + 号 这也是表达式
console.log("我最帅"); 这是一条语句 也是表达式
(a>10)?ture:false 这也是表达式
2.算术运算符,关系运算符,逻辑运算符,位运算,赋值运算符,等等。。。。但凡有运算符参与的,可用于计算的式子,即可能产生一个值的式子。都算哦
3.表达式都有返回值!在 javascript 中所有表达式都有返回值(undefined也算!),这个返回值就可以继续作为表达式的一部分。
4.高逼格解释:表达式(expresssion)是JavaScript中的一个短语,JavaScript解释器会将其计算出一个结果,同时产生返回值。(请把这段讲给那些装逼的面试官听~告诉他什么叫专业!英文记得也要念哟=.=)
console.log(10); 括号里的10 通过F12 看到打印结果 为10 这边是(10)的返回值 所以它是一个表达式
console.log()也是一个函数调用表达式 他的返回值是空 你看不到 哟~
typeof("abs") 也是个函数调用表达式 他的返回值为String
return 也是表达式 返回值 为undefined
tips: typeof("abs") 中typeof是函数调用 typeof “abs” 中typeof是运算符 当然结果都一样。。
5.注意"带有副作用的表达式" 如1++ 3-- 赋值运算符var a = 3 b=a 其中b=a 是副作用表达式
6."逗号"可以把多个表达式连接起来 变成复合表达式 如 a+2,b<2,name,age
7. javascript 还有一种函数表达式,它的形式跟函数声明一模一样。如果写 function fn() { return 0;} 是函数声明而写var a = function fn(){ return 0;} 等号后面的就是函数表达式。
表达式的构成 分为表达式和表达式的值
-
简单表达式
- 变量,直接量。
- 直接量 表达式的值为本身 如:表达式10 他表达式的值为10
-
复杂表达式
- 运算符与简单表达式的组合 如:10+a 表达式10 + 表达式a
语句
什么是语句?
语句就是一段话,结束时候带;分号。只要带分号就是一条语句!
语句都包含有表达式,
如:
console.log(199); 这是一条包含 表达式 的 语句 因为有分号
var b = 3; 这是一条包含 表达式 的 语句
document.write("ok"); 也是语句
console 就是一条纯语句没有表达式参杂的纯种语句 然并软。。。这在js中会报错。所以js中不存在纯语句滴 亲~
tips:表达式加一个分号就是“语句”
表达式语句
表达式也可以单独形成一个语句。 称为:表达式语句! 意思是语句里全都是表达式 没有其他的东西
如:
aa++ 是一条有副作用的表达式 同时也是一条单独纯表达式语句 (注意没有分号哦)
console.log(199) 也是纯表达式语句
其实然并软。。。。因为很多时候不写;分号 会导致出错。。。所以表达式语句意义不大¬_¬
总结
提问:阿飞~我表示语句表达式什么的 好晕呀。。。。乱七八糟,颠覆三观。。。。
回答:其实就像我之前说过的,大致了解下即可,不必深究,太深你会疼的。。。。其实当初js出身的时候,发明者他自己并没有刻意的想到这些概念。表达式,表达式语句,语句这些概念都是后人,那些大牛自己总结的。。。
我的建议:只需牢记
- 表达式有返回值
- 带分号即语句
- 语句包裹表达式( 语句和表达式一般都合体的。)
所以呀~最后我们明白了一个道理!任何简单的事物只要去深究,就可以发现无穷的高深莫测。
如果你想搞事情!请深究!-.-
最后附上一个搞事情的解析图~