js数据类型
基本数据类型
string -> 字符串
number -> 数字
Boolean -> 布尔值
null
undefined
引用数据类型
object:
- { } 对象
- [ ] 数组
- /$/ 正则
function 函数
- 当浏览器加载HTML页面的时候,首先会提供一个供全局js代码执行的环境,即
全局作用域
(global/window) - 预解释(变量提声(提前声明)):
在当前作用域中,js代码执行之前,浏览器首先会默认的把所有带var
和function
的提前声明或定义- 理解声明或定义: var num = 12;
- 声明(declare):var num; ->告诉浏览器在全局作用域上有一个叫
num
的变量;一个值只是提前声明,没有赋值,默认值是undefined - 定义(defined):num = 12; ->给叫
num
的变量赋值
- 声明(declare):var num; ->告诉浏览器在全局作用域上有一个叫
- 对于带
var
和function
关键字在预解释的时候操作还是不一样的- var -> 在预解释的时候只是提前声明
- function ->在预解释的时候提前声明并赋值
- 预解释只发生在当前作用域下,例如:开始只对window下的进行预解释,只有函数执行的时候才会对函数中的进行预解释
- 理解声明或定义: var num = 12;
console.log(num) // -> undefined (预解释的时候只声明,不赋值)
var num = 12
console.log(num) // -> 12
var obj = {name:"lilei",age:18}
fn() // 300 (预解释的时候提前声明并赋值)
function fn(num1,num2){
// console.log("good good study!")
var total = num1+num2;
console.log(total)
}
- js中的内存分类:
- 栈内存: 用来提供一个供js代码执行的环境 ->作用域(全局作用域,私有作用域)
- 堆内存: 用来储存引用数据类型的值 ->对象储存的是属性名和属性值,函数储存的是代码字符串..
网友评论