JavaScript基础总结

2018-06-04  本文已影响0人  ZombieBrandg

基本语法

语句:

var a = 1 + 2;这条语句先用var命令,声明了变量a,然后将1 + 2的运算结果赋值给变量a。其中1+2是表达式(expression)。一般用;号进行语句结束

变量,常量

变量就是对值的一种引用。使用变量之前一定要变量声明var;let,如var a = 1 + 2;其中a是变量 1 和 2都是常量。

标识符

标识符(identifier)是用来识别具体对象的一个名称。最常见的标识符就是变量名,以及后面要提到的函数名。JavaScript语言的标识符对大小写敏感,所以a和A是两个不同的标识符。其中有一些重要规则。

第一个字符,可以是任意Unicode字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。
第二个字符及后面的字符,除了Unicode字母、美元符号和下划线,还可以用数字0-9。

数据类型

对象(object)又有三个子类型:狭义的对象(object),数组(array),函数(function)
六种假值:false,0,''或者" ",NaN,undefined,null
其中console.log()任何值返回的都是undefined

运算符

运算符优先级顺序:

  1. ()
  2. ,
  3. =

函数(function)

每次调用函数都会有result=fcuntion xxx .call(this,[arguments]),this默认是window,arguments是一个为数组对象 ,函数里都有return.

result=fcuntion xxx .call(this,[arguments]){
  return undefined //return默认 undefined
}

函数作用域

作用域有就近原则由下往上,声明变量会被提前

浏览器

浏览器给我门提供了window和document API
主要分为两大类BOM 和 DOM

var 与 let 区别

var 是函数作用域的变量,可以同一作用域重复覆盖声明变量
let 是块级作用域变量,且同一个作用域不会重复声明变量
let 与for语句一起使用的时候会在for块级作用域里添加一个与圆括号相等的let声明
let 有死亡区域是声明之前不允许使用let变量
浏览器第一次阅览代码只看声明 function和var,let
let高级理解

var a =1                          
function f1(){                   
                  // 实际浏览器阅读第一次代码会把var a 放在这里
  if(true){                          
    }else{                 
     var a = 2    // a= 2 保留在这里 
  }
  console.log(a)
}
f1() //undefined
------------------分割线------------------------
var a =1
function f1(){
  if(true){
    }else{
     let a = 2  //let a 则还在这里
  }
  console.log(a)
}
f1() //1
------------------分割线------------------------
var a =1
let a =2 //error
------------------分割线------------------------
for(let i=1;i<6;i++){    //在花括号内侧会自动添加一个匿名与圆括号相等的 let i=圆括号let i
  setTimeout(function(){
    console.log(i)
  },1000)
}              //0,1,2,3,4,5
------------------分割线------------------------
let a =1
{
  console.log(a)
  let a = 2
}               //error 虽然let a 提升到block第一行但是在a=2之前如果调用a则报错

setTimeout与setInterval方法的区别:

setTimeout(a(),500),在500毫秒后只执行1次方法a(),而setInterval(a(),500)是每隔500秒执行一次
方法a()。也就是说如果不把前者放在循环里,就不能实现后者的循环功能。

上一篇 下一篇

猜你喜欢

热点阅读