day13 JS引入, 变量, 值类型

本文详述了JavaScript在网页中的嵌入方式,强调了外部文件引入的重要性,并深入解析了JS的变量声明、命名规范及数据类型。通过具体实例,阐述了原始值与引用值的存储区别,为读者提供了清晰的语法错误分类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、引入JS

1、页面级嵌入 head 和 body 都可以;
2、外部引入js文件, 符合web标准(w3c标准)结构、样式、行为相分离。

二、 JS 语法
1、变量声明

单一var

2、变量命名

(1)必须以英文字母、 _ 、$ 开头
 (2)变量名可以包括英文字母、 _ 、$、数字
 (3)不能用关键字和保留字

3、值类型——数据类型
a.不可改变的原始值(栈数据) :
 Number:数字;
 Boolean: true / false;
 String: 字符串 "abc";
 undefined :无定义(声明的变量没被赋值);
 null:占位.

原始值储存方式
原始值存在栈内存(stack)里,有底没顶。

var num = 100;
var num1 =num;
num = 200;
console.log(num1); -->100

1)先申请一个房间"num",赋值100。
2)然后再申请一个房间"num1",赋值拷贝"num"里面的值。(因为是拷贝值,所以改变num的值,不会影响num1里面的值)
在这里插入图片描述

3)重新赋值200给房间"num",此时是重新申请一个新房间"num"赋值200,原来的房间恢复原来的编号,而里面的值无法改变。
删数据只是剪断房间与数据之间的联系,无从查找,只有二轮覆盖的时候才是真正的删除数据。
在这里插入图片描述

b.引用值(堆数据) :array Object function data RegExp

储存方式:

var arr = [1,2];
var arr1 = arr;
arr.push(3);
console.log(arr); --> [1,2,3]
console.log(arr1); -->[1,2,3]

1)定义一个数组,在栈里面申请一个房间"arr", 在堆里面存放值[1,2], 此时栈存放的是堆的地址"heap1001"
2)申请一个新房间’‘arr1’’,拷贝"arr1"里面的地址,此时两个房间都指向一个堆。因此当’‘arr’'添加一个数值后,“arr1”也会跟着变。
在这里插入图片描述
3)当"arr"重新赋值[1,3]后,会在堆内存里重新申请一个房间。此时栈内存的地址发生改变。

var arr = [1,2];
var arr1 = arr;
arr = [1,3];
console.log(arr); -->[1,3]
console.log(arr1); -->[1,2]

在这里插入图片描述

4、语法错误

(1)低级错误(语法解析错误 SyntaxError)
  通篇扫描一遍,一行都执行不了
 (2)逻辑错误(ReferenceError)
 错误语句后面不会再执行
 (3)js语法错误
 两个代码块会相通,但一个出错后,不会影响其他代码块。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值