day22-24一些笔记

  • 科学计数法的用法:
var y = 123e5;      // 12300000
var z = 123e-5;     // 0.00123
  • JS对象有点向python里的字典。
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
  • 对于Undefined
var person;                  // 值是 undefined,类型是 undefined
  • 对于空值
var car = "";                // 值是 "",类型是 "string"
  • 对于Null
  • 可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null。
var person = null;           // 值是 null,但是类型仍然是对象
  • 其他
typeof {name:'Bill', age:62} // 返回 "object"
typeof [1,2,3,4]             // 返回 "object" (并非 "array",参见下面的注释)
typeof null                  // 返回 "object"
typeof function myFunc(){}   // 返回 "function"

在JavaScript中值类型和引用类型的区别

一、存储方式不一样

基本数据类型:
变量存储的是简单的数据段,存储的是具体的值,是轻量级的数据存储方式。
引用类型:
引用类型的值,可以由多个值构成的对象,引用类型的变量存储的是对象引用地址。引用类型是重量的数据存储方式,分配在堆内存,频繁创建对象有损性能。
引用类型(N多) Object、Array、Date、Function、……

二、动态属性不一样

引用类型能动态添加属性:

var person=new Object();
 person.name="jack";
 person.age=20;
 console.log("姓名:%s,年龄:%d",person.name,person.age);
 // 结果为:姓名:jack 年龄:20

值类型不能添加:

var person="";
 person.name="jack";
 person.age=20;
 console.log("姓名:%s,年龄:%d",person.name,person.age);
 // %d为整数,%s为字符串。
 // 结果为:姓名:undefined 年龄:NaN

三、赋值的方式不一样

值类型,拷贝变量的内容:

var num=10;
var num2=num;//创建新的空间,拷贝num的值到num2。

var num=10;

va num2=num;
num2=100;//并不会影响到num的值
console.log("num=%d  num2=%d",num,num2);
//num=10  num2=100
  • 这个两个变量的内容是互不影响的,num2的内容是num的一个副本。类似操作系统的复件。于是输出结果不同。

引用类型,拷贝引用地址:

var person1=new Object();
person1.age=18;
var person2=person1;//拷贝引用地址,给变量person2,于是同时指向一个对象
person2.age=30;//事实上也是person1指向的那个对象
console.log("person1.age=%d   person2.age=%d",person1.age,person2.age);
// person1.age=30   person.age=30
  • 拷贝引用地址,给变量person2,于是同时指向一个对象。于是输出结果相同
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值