JS基础知识

107 阅读2分钟

值 返回值 打印出来的东西

问题: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数组

一些特殊的数组创建方法

  1. split()可根据某个字符将一个字符串分隔为一个数组 例如:
let arr = '1,2,3'
arr.split(',')
则得到数组 ['1', '2', '3']
  1. Array.from()可以从一个字符串得到一个数组

没有数组共有属性的数组就是伪数组(长的像数组)

数组的合并与分割

  1. Array.concat() 将两个数组合并成一个新数组
  2. Array.slice() 在某一个位置将一个数组切成一个新数组(只取该位置后的数字)
  3. 故可用slice(0)复制一个新数组

数组的删除

Array.shift()删除数组的头部元素
Array.pop()删除数组的尾部元素
Array.splice()删除中间的元素(可以包括头尾)