数据类型核心操做步骤和原理

数据类型核心操做步骤和原理

JS中的数据类型

  • 基本数据类型(值类型)
    • number
    • string
    • boolean
    • null
    • undefined
  • 引用数据类型
    • 对象
      • {}普通对象
      • []数组
      • /^$/正则
      • Math 对象数据类型的
      • 。。。
    • 函数
      • function 普通函数
      • 。。。
JS代码运行在浏览器中,是由于浏览器给咱们提供了一个供js代码执行的环境 -> 全局做用域(window/global)
var a=12;
var b=a;
b=13;
console.log(a);
var o={name:"helloworld"};
var p=o;
p.name='席超';
console.log(o.name);
var m={name:'helloworld'};
var n=m;
n={name:'面向对象编程'};
console.log(m.name);
function fn(){
var ary=array.prototype.slice.call(arguments);
return eval(ary.join('+'));
}
fn();

 

值类型

直接按值操做,例如:var a=12;直接把12这个值赋值给变量a (让a变量和12这个值创建了链接的关系)

对象数据类型

在JS中遇到对象,会严格按照以下的步骤操做:
一、浏览器为其开辟一个新的内存空间,为了方便后期能够找到这个空间,浏览器给空间分配一个16进制的地址
二、按照必定顺序,分别的把对象键值对存储到内存空间中
三、把开辟内存的地址赋值给变量(或者其余的东西),之后变量就能够经过地址找到内存空间,而后进行一些操做

函数的操做

建立函数

一、先开辟一个新的内存空间(为其分配了一个16进制的地址)
二、把函数体中编写的js代码当作字符串存储到空间中(函数只建立不执行没有意义)
三、把分配的地址赋值给声明的函数名(function fn和var fn操做原理其实相同,都是在当前做用域中声明了一个名字,此处两个名字是重复的)
执行函数

目的:执行函数体中 的代码

一、函数执行的时候,浏览器会造成一个新的私有做用域(只能执行函数体中的代码)供函数体重代码执行
二、执行代码以前,先把建立函数存储的那些字符串变为真正的js表达式,按照从上到下的顺序在私有做用域中执行
一个函数能够被执行N次,每一次执行相互之间互不干扰(后面会学习二者之间创建的间接关系)
 
造成的私有做用域把函数体中的私有变量等都包裹起来了(保护起来了),在私有做用域中操做私有变量和外界不要紧,外界也没法直接的操做私有变量,咱们把函数执行造成的这种保护机制叫作闭包
 
* 学习:知其然而知其因此然*
相关文章
相关标签/搜索