JS预解释

 1.声明(declare)  var num    // 告诉浏览器在全局作用域中有一个num变量

  定义(defined) num = 12  // 给我们的比变量进行赋值

 

 2.var:在预解释时只是提前的声明,默认undefined

 function: 在预解释时提前的声明 + 定义都完成了

 

3.JS内存分类

 栈内存: 用来提供一个供js代码执行的环境 ---> 作用域 (全局和私有) 

 堆内存: 用来存储引用数据类型的值 

      1.对象: 存储的是属性名属性值

      2.函数: 存储的是代码字符串

代码:

fn()   // 2

function fn() {
  console.log(1)
}
fn()  // 2
var fn = 10
fn()  // fn=10  变量fn=10,不是function函数,会报 TypeError: fn is not a function,停止执行

function fn() {
  console.log(2)
}
fn()  // 不执行

结果:

 

posted @ 2018-11-09 17:10  jsanntq  阅读(211)  评论(0编辑  收藏  举报