4.1 变量

1.变量的类型

  • 原始值 : 6种 (值类型 : 按值访问)
    String、 Number、Boolean、Undefined、Null、 Symbol

  • 引用值:(引用类型 : 按引用访问)

    是什么 : 保持在内存中的对象

    操作方法: JavaScript不允许直接访问内存位置,因此也就不能直接操作对象所在的内存空间;对象名->根据引用(指针)到达内存位置->执行修改

//reference :v 引用 n参考

2.动态属性

引用值而言,可以随时添加、修改和删除其属性和方法。
若key不存在,返回undefined

3.复制值

原始值: 复制实际值
引用值: 复制指针

4.传参

ECMAScript中所有函数的参数都是按值传递的
变量有按值和按引用访问,而传参则只有按值传递。

原始值 : 传递实际值
引用值 : 传递指针的值

function setName(obj) {
  obj.name = "Nicholas";  //obj和person 存储的指针指向同一地址
  obj = new Object();  //obj存储的指针指向了新对象的内存位置
  obj.name = "Greg";  //指针指向的位置不同,obj不影响person
}

let person = new Object();
setName(person);
console.log(person.name);  // "Nicholas"

5.检测类型

  • typeof可以检测的类型
    除了null之外的值类型
    除了function之外的引用类型 + null ,都是’object’ ;
    typeof functionName 为 ‘function’

  • instanceof 只检测对象

    所有引用值都是Object的实例,因此通过instanceof操作符检测任何引用值和Object构造函数都会返回true。类似地,如果用instanceof检测原始值,则始终会返回false,因为原始值不是对象
    为什么? 因为instanceof是顺着原型链一层层的往上找的.

console.log(person instanceof Object);  // 变量person是Object吗?
console.log(colors instanceof Array);   // 变量colors是Array吗?
console.log(pattern instanceof RegExp); // 变量pattern是RegExp吗?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值