值 返回值 打印出来的东西
问题:console.log(3)的返回值是多少?
回答:返回值是undefined,3是打印出来的东西
&&短路
A&&B
如果A为真,该表达式的值为B本身而不是True或者False
如果A为假,该表达式的值为A本身而不是True或者False
A||B正好相反
标识符规则(变量命名)
第一个字符是字母,下划线或者美元符号
表达式与语句
表达式指一个为了得到返回值的计算式。语句和表达式的区别在于,前者主要为了进行某种操作,一般情况下不需要返回值;后者则是为了得到返回值,一定会返回一个值。
if-else
条件语句之一,简单的if-else语句可用?:表达式或者&& ||来简化
循环语句
while
死循环问题 注意浮点数不精确有可能导致死循环
for
let 和 var对于for循环有不同的影响
break continue
break语句和continue语句都具有跳转作用,可以让代码不按既有的顺序执行。
break语句用于跳出代码块或循环。
continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。
标签
label就相当于定位符,通过这个label可以进行特定的指定
面试题:
chrome会将
{
foo:1
}
优化为一个对象,而firefox不会
JS数组
一些特殊的数组创建方法
split()可根据某个字符将一个字符串分隔为一个数组 例如:
let arr = '1,2,3'
arr.split(',')
则得到数组 ['1', '2', '3']
Array.from()可以从一个字符串得到一个数组
没有数组共有属性的数组就是伪数组(长的像数组)
数组的合并与分割
Array.concat()将两个数组合并成一个新数组Array.slice()在某一个位置将一个数组切成一个新数组(只取该位置后的数字)- 故可用
slice(0)复制一个新数组
数组的删除
Array.shift()删除数组的头部元素
Array.pop()删除数组的尾部元素
Array.splice()删除中间的元素(可以包括头尾)