JavaScript- 原始值及引用值 内存之栈内存与堆内存

一、javascript的脚本引入

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>引入</title>
</head>

<body>
    <script>
        document.write('hello world');
    </script>
    <script type="text/javascript" src="./index.js"></script>
</body>

</html>

二、变量,赋值

  • 变量是一个存储数据的容器,作用:后续使用。声明方式 var。
    <script>
        var a; //变量声明
        a = 3; //变量赋值
        var a = 3; //变量声明并赋值
        var x = 1 ,
            y; //单一声明方式,逗号隔开声明多个
    </script>

 

  • 命名规范:不能以数字开头,能字母_$开头;不能使用关键字,保留字;语义化,结构化,小驼峰命名法。

ECMAScript关键字:

break case catch continue default delete do else finally for function if in instanceof new return switch this throw try typeof var void while with

ECMAScript保留字

abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile
  • javascript的原始值与引用值
  1. 原始值——基本类型  Number String Boolean undefined null 五种类型,原始值不可改变
  2. 引用值—— object array function date RegExp

(1)原始值存储在栈内存。

举例  var a = 3; var b = a ; a = 1; 

var a = 3 时即栈内存中 1008 命名为 a ,对应空间存储 3

var b = a 时,1007命名为b,对应空间 拷贝a 的内存值 ;

当再设置 a = 1 时,不是直接修改a空间的值 ,而是现有 a 还原为1008,对应空间的 数据3 保留 ,1006命名为a ,对应空间数据为1。(图示如下)

(2)引用值 值不存在栈内存,值的地址存在栈内存

example: var arr1 = [1,2,3,4]; var arr2 = arr1; arrr1.push(5);

导致结果 打印arr2 也改变成[1,2,3,4,5] (产生原因如下图所示)

接上再声明 var arr1 = [1,2]; (如下图所示)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值