zoukankan      html  css  js  c++  java
  • 数据类型核心操作步骤和原理

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

    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中遇到对象,会严格按照如下的步骤操作:
    1、浏览器为其开辟一个新的内存空间,为了方便后期可以找到这个空间,浏览器给空间分配一个16进制的地址
    2、按照一定顺序,分别的把对象键值对存储到内存空间中
    3、把开辟内存的地址赋值给变量(或者其他的东西),以后变量就可以通过地址找到内存空间,然后进行一些操作

    函数的操作

    创建函数

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

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

    1、函数执行的时候,浏览器会形成一个新的私有作用域(只能执行函数体中的代码)供函数体重代码执行
    2、执行代码之前,先把创建函数存储的那些字符串变为真正的js表达式,按照从上到下的顺序在私有作用域中执行
    一个函数可以被执行N次,每一次执行相互之间互不干扰(后面会学习两者之间建立的间接关系)
     
    形成的私有作用域把函数体中的私有变量等都包裹起来了(保护起来了),在私有作用域中操作私有变量和外界没关系,外界也无法直接的操作私有变量,我们把函数执行形成的这种保护机制叫做闭包
     
    * 学习:知其然而知其所以然*
  • 相关阅读:
    Educational Codeforces Round 20 D. Magazine Ad
    Educational Codeforces Round 20 C. Maximal GCD
    紫书第三章训练2 暴力集
    Educational Codeforces Round 20 B. Distances to Zero
    Educational Codeforces Round 20 A. Maximal Binary Matrix
    紫书第三章训练1 D
    紫书第一章训练1 D -Message Decoding
    HAZU校赛 Problem K: Deadline
    Mutual Training for Wannafly Union #8 D
    紫书第三章训练1 E
  • 原文地址:https://www.cnblogs.com/CCxi/p/9458880.html
Copyright © 2011-2022 走看看