原生js——基础

Js几个输出语句:?

alert()弹出对话框

console.log()控制台输出

document.write()在浏览器输出

※  变量的数据类型?

①基本数据类型 :string    number   boolean

②复合数据类型 :object对象

③特殊数据类型 :undefind   null

※  undefinedNull的区别?

Undefined是访问一个未初始化的变量时返回的值,可以看做是空的变量。

Null是访问一个尚未存在的对象的时候返回的值,可以看做是空的对象。

※  switchif的使用场景?

① 当条件是具体的值时,建议使用switch

② 当条件是一个范围时,建议使用if  else

※  whiledo...while的区别?

While : 先判断条件再执行循环体。循环体有可能一次也不执行。

Do..while : 先执行循环体,再判断条件,循环体至少执行一次。

※  break continue return的区别?

Break : 结束本层循环,跳出循环体。

Continue : 终止本次循环,继续开始下次的循环。

Return : 程序返回,不再执行以下的代码。

※  js解析器?

浏览器内部有个专门解析JS程序的地方,这个空间就是JS解析器,解读JS程序有两个步骤:

①预解析 :

找到一些东西,var  function

找到了var就是找到了一个变量,会提前为这个变量赋予一个值undefined

找到了function就是找到了一个函数,会提前为这个函数名赋予一个值,这个值就是函数块本身。

找到两个function。如果函数重名,后一个会覆盖前一个。

如果找到的变量和函数重名,保留函数。

②逐行解读代码,如果遇到表达式,改变了变量的值,那么预解析时仓库的变量的值也会改变。

※  作用域链?

变量首先在函数体内部向上查找,如果在函数体内部查找到,就返回(说 明该变量就是一个局部变量),否则继续向函数体外部查找,如果找到就 是操作的全局变量。如果函数体内部和外部都没有找到,判断这个变量 是否有var,有的话就是局部变量,没有的话就是全局变量。

猜你喜欢

转载自www.cnblogs.com/zd1314/p/12464852.html