修炼js 1

22 篇文章 0 订阅

记录一下JS变量

js变量类型有如下几种:

number,string,boolean,null,undefined,symbol,
object:{Array,Object,Function,Date...}   //这一系列是引用类型
其中Object为引用类型存放在堆内存中,其余的为值类型存放在栈内存中

定义变量的方式及区别:

// 方式一
var a = 111;   //不会劫持作用域,如果不赋值会默认初始化为 undefined
var a = 222;   // 再次定义会覆盖

//方式二
let b = 111;    //会劫持块级作用域,需指定一个初始值
let b = 222;    //会报错

//方式三
//此种方式通常定义常量
const c = 111;  //也会劫持块级作用域,需指定一个初始值
const c = 222; //报错

const arr = Array.of(1,2,3);	//	此变量是可以更改的

arr.push(4); // 可对其进行追加
arr.shift(); // 删除首元素
arr.reverse(); // 反转
// 虽然此变量是const定义的,但由于赋值的是引用类型,
// 所以存放在arr中的数据是指向[1,2,3]的指针,所以该数组可以通过原型上的部分方法进行操作

关于变量的面试题
1、var 与 let , const定义变量的区别?
2、const定义的常量如果是引用类型还可以更改吗?为什么?
3、深浅拷贝,深拷贝如何实现 // 1、JSON.parse(JSON.stringfiy(变量名))2、递归至简单变量拷贝

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值