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

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

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次,每一次执行相互之间互不干扰(后面会学习两者之间建立的间接关系)

形成的私有作用域把函数体中的私有变量等都包裹起来了(保护起来了),在私有作用域中操作私有变量和外界没关系,外界也无法直接的操作私有变量,我们把函数执行形成的这种保护机制叫做闭包。

* 学习:知其然而知其所以然*

原文地址:https://www.cnblogs.com/CCxi/p/9458880.html

时间: 2024-10-14 10:24:07

数据类型核心操作步骤和原理的相关文章

基于Python项目的Redis缓存消耗内存数据简单分析(附详细操作步骤)

目录 1 准备工作 2 具体实施   1 准备工作 什么是Redis? Redis:一个高性能的key-value数据库.支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用:提供string.list.set.zset.hash等数据结构的存储,并支持数据的备份. 本文适合使用的场景:当一个项目中Redis缓存的数据量逐渐增大,Redis缓存的数据占用内存也会越来越大,而且其中有很多很可能是价值不大的数据.由于Redis是一个key-value数据库,所以对其中的数

虚拟机软件及Linux操作系统安装操作步骤

虚拟机软件及Linux操作系统安装操作步骤 一.虚拟机软件的安装 在Windows系统系安装适合的Windows版本的VMware Workstation后,就可以在VMware Workstation上创建虚拟机了,之后运行创建的虚拟机即可在虚拟机上安装CentOS Linux操作系统的过程和在实际生产环境下安装是一样的. 1.创建一个VM虚拟机实践 1.1.创建一个新的虚拟机 1)虚拟机软件安装完毕后,双击桌面上的VMwareWorkstation图标或者在开始菜单里到VMware Work

IO包中的其他类 打印流,序列流,操作对象,管道流,RandomAccessFile,操作基本数据类型,操作字节数组

打印流,序列流,操作对象,管道流,RandomAccessFile,操作基本数据类型,操作字节数组 一.打印流: 该流提供了打印方法,可以将各种数据类型的数据都原样打印. 字节打印流PrintStream构造函数可以接收的参数类型1.File对象 File2.字符串路径 String3.字节输出流 OutputStream 字符打印流PrintWriter(更常用)1.File对象 File2.字符串路径 String3.字节输出流 OutputStream4.字符输出流 Writer publ

初学者利用git 上传代码到Coding的简单操作步骤

初学者利用git 上传代码到Coding的简单操作步骤 1.首先登陆coding网站注册账号https://coding.net/ (注册完后需登陆邮箱激活邮件) 2.登陆刚注册的coding账号 ,添加项目 添加项目-〉输入项目名称-〉输入对项目的简单描述---〉选择"公开"-〉创建项目 到此为止,后面需要将本次实验内容push到该项目chap1下. 此处,需要记录http://git.coding.net/gdcs16_000/chap1.git   (gdcs16_000为你的注

在Visual Studio 2013/2015上使用C#开发Android/IOS安装包和操作步骤

原文:在Visual Studio 2013/2015上使用C#开发Android/IOS安装包和操作步骤 Xamarin 配置手册和离线包下载 http://pan.baidu.com/s/1eQ3qw8a 具体操作: 安装前提条件 1. 安装Visual Studio 2013,安装过程省略,我这里安装的windows10 + vs2013 with update 4. 2. 安装Java SDK,按照Next一步步安装,此处省略,如下图: 3. 安装Android SDK:因为在线安装的访

Skia简介以及在Windows下编译操作步骤

Skia是一个C++的开源2D向量图形处理函数库(Cairo是一个矢量库),包括字型.坐标转换.位图等等,相当于轻量级的Cairo,目前主要用于Google的Android和Chrome平台,Skia搭配OpenGL/ES与特定的硬件特征,强化显示的效果.另外,Skia是WebKit支持的众多图形平台之一,在WebKit的GraphicsContext.h/.c中有相关实现. Android与Chrome的源代码库中都有一份Skia的复制,因需求不同,做了部分的修改. Skia需要的底层库有:f

Redis入门教程:特性及数据类型的操作

虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍.是一个很不错的Redis入门教程. 一.介绍 1.Redis是什么 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis提供了一些丰富的数据结构,包括 lists, sets, ordered sets 以及 hashes ,

APPIUM环境搭建及APP配合RF自动化的操作步骤

在用APPIUM做APP自动化测试过程中,首先碰到的问题就是环境搭建. 过程相对于WEB端自动化来说,搭建过程稍微复杂些,但是appium与WEB端的selenium原理相差不多. 二者在robotframework自动化框架中,共用了很多API关键字. APPIUM环境搭建步骤简单概述一下. 前提,我都是用的PYTHON开发语言做的自动化. 第一步: pip install Appium-Python-Client 第二步: pip install robotframework-appiuml

【转载】JDBC操作步骤及数据库连接操作

转自:http://blog.csdn.net/joywy/article/details/7731305 一.JDBC操作步骤 1.加载数据库驱动程序:各个数据库都会提供JDBC的驱动程序开发包,直接把JDBC操作所需要的开发包(一般为*.jar或*.zip)直接配置到classpath路径即可. 2.连接数据库:根据各个数据库的不同连接的地址也不同,此连接地址将由数据库厂商提供,一般在使用JDBC连接数据库的时候都要求用户输入数据库连接的用户名和密码,用户在取得连接之后才可以对数据库进行查询