今天是 2018 - 1 - 11,想写点什么呢。说点不能定义为变量的关键字和保留字吧
用 var 定义作用域变量
同时新增了一些 let 定义局部变量 ,const 定义常量
不过很可惜,新增的在目前的安卓上用不了。
function 这个不陌生了吧,申明一个Function对象
return 也是非常常见的,用来结束当前作用域的执行流程
if 逻辑判断 else 可以组成很简单的选择结构
while和for 两者都是等价的循环操作符
不过while和do..while需要注意一下区别
do{ 一下,然后}while()和while(){然后隐藏的do}的区别,前一个先执行一次试试,后一个试也不准试。
break和 continue 负责调整循环走向,结束整个循环用break,跳过当次循环用continue。
其实还有一种假装是if的选择结构 switch,不过太多了case是影响效率的。
delete 其实是一个操作符,用来删除某个对象上的属性用的
typeof 操作符,通常用来判断数据的基本类型,有: object string number boolean undefined symbol,顺带一提null是object的子对象,可以用 typeof操作符,同时也有typeof函数可以用,效果是一样的
常用的可能会出现误区的地方
typeof null // object
typeof [] // object
typeof '' // string
typeof undefined // undefined
typeof Symbol // function
typeof Symbol() // symbol
说到这里就不能不说instanceof了,当然我提过好多次。
有问题时不想处理就throw一个BUG(Error)出来
try{}catch(){}finally{} 抓BUG,啪啪啪处理一顿,但是能不能成熟的像个孩子,少写点BUG
对不对还不是得看true和false怎么用,但是没有值能用时null和undefined的含义也是不一样的
如果你写nodejs,
那可高兴了什么yield,async,await,都能用了。
如果你用babel,那么上面的都能用
下面的也能用
import , from ,
如果你写typescript
那恭喜你你还有 private ,public ,default,extends,implements,super, static, enum也可以用
有些字它不是关键字,但是也不能用
java的关键字,在js里面也不能用来定义变量,毕竟要向当初的大佬看起,这种历史问题就不好追究了。
内定的全局变量也不能作为变量使用,毕竟人家先定义的,你不能乱改一通,代码还想不想用了。
比如你在浏览器下面,window对吧,你var window =1,不管你怎么定义这个window都是Window对象,不会变成1的,要是变了可不得乱套不成。
假如你写node,require对吧,你啪的一下,把require改了,然后就没有然后了。
最重要的this,不必再说了。