js基础复习

变量命名规则:

  • 由字母、数字、下划线、$符号组成,不能以数字开头

  • 不能是关键字和保留字,例如:for、while。

  • 区分大小写

简单数据类型:Number、String、Boolean、Undefined、Null

复杂数据类型:object(function、Array、Date)

NaN 与任何值都不相等,包括他本身

字符串拼接:

  1. + 就是字符串拼接功能(1+abc //"1abc";  1+"2" //"12" ;  1+2 //3;1+true //2 ;  1+false //1 ;  1+[6] //"61" ;   1+{} //[object Object]1 ;   1+undefine //NaN)

  2. 两边如果都是数字,那么就是算术功能。

  3. - 字符串功能 ("2"-1//1 ; “as”-1//NaN;   []-1//-1 ;)

Undefined和Null:

  1. undefined表示一个声明了没有赋值的变量,变量只声明的时候值默认是undefined

  2. null表示一个空,变量的值如果想为null,必须手动设置

变量类型获取

typeof: 一般只能返回如下几个结果:"number"、"string"、"boolean"、"object"、"function" 和 "undefined"。

运算数为数字 typeof(x) = "number" 

字符串 typeof(x) = "string"

布尔值 typeof(x) = "boolean"

对象,数组和null typeof(x) = "object"

函数 typeof(x) = "function"

   未定义或未附值变量 type(x) = undefine

布尔类型的隐式转换

  流程控制语句会把后面的值隐式转换成布尔类型

  转换为true 非空字符串 非0数字 true 任何对象
  转换成false 空字符串 0 false null undefined

continue和break

  break:立即跳出整个循环,即循环结束,开始执行循环后面的内容(直接跳到大括号)

  continue:立即跳出当前循环,继续下一次循环(跳到i++的地方)

自调用函数

  关于自执行函数(匿名函数自调用)的作用:防止全局变量污染。

  匿名函数不能通过直接调用来执行,因此可以通过匿名函数的自调用的方式来执行

预解析

预解析过程:

  1. 把变量的声明提升到当前作用域的最前面,只会提升声明,不会提升赋值。

  2. 把函数的声明提升到当前作用域的最前面,只会提升声明,不会提升调用。

  3. 先提升var,在提升function

this详解

  1. 函数在定义的时候this是不确定的,只有在调用的时候才可以确定
  2. 一般函数直接执行,内部this指向全局window
  3. 函数作为一个对象的方法,被该对象所调用,那么this指向的是该对象
  4. 构造函数中的this其实是一个隐式对象,类似一个初始化的模型,所有方法和属性都挂载到了这个隐式对象身上,后续通过new关键字来调用,从而实现实例化

原文地址:https://www.cnblogs.com/styleFeng/p/13295009.html