概述
包装类型
包装类型(引用类型之一)Number Boolean String 用new去创建
基本数据类型 string (s1 = 'hello')
1 包装类型中的string
(1)new String() new创建
(2)typeof 返回object
(3) s1 = new String(1,2,3,4) 当有多个参数时 只处理第一个
(4) s1 = new String(++n,n++,++n) 当有多个参数时,虽然只处理第一个
但js会把所有的代码执行完毕
s1 = 'hello' 后台操作 s1 = new String('hello')
s2 = s1.substring(2) s2 = substring(2)
s1 = null 销毁
var s3 = 'hello'
var s4 = new String('hello')
console.log(typeof(s3));
console.log(typeo02f(s4));
2 包装类型 Boolean
var v1 = false
var v2 = v1 && true
console.log(v2);
var v1 = new Boolean(false) v1 Boolean对象
任何object 对象转换为boolean 都为true
var v2 = v1 && true
console.log(v1);
console.log(v2);
(1)
v3 = false
v4 = new Boolean (false)
typeof(v3) 基本数据类型 Boolean
typeof(v4) object
(2) instanceof 判断是否是对象实例
v3 instanceof Boolean false
v4 instanceof Boolean true
3 包装类型的Number
var v1 =23
var v2 = new Number(23)
typeof(v1) number
typeof(v2) object
v1 instanceof Number false
v2 instanceof Number true
值类型和引用类型
1 值类型传递采用基础的数据类型 string number boolean null undefined
存储在栈内存中
占据的空间是固定的
2 引用类型采用的是地址传递,Array Function Object
堆中存储的一般都是对象,通过一个地址编号(引用指针)传递给栈内存变量
读取数据 -- 通过地址编号(16进制 地址编号存放在栈内存中)到堆内存中找数据块 放到堆内存空间不固定的
占据的空间是不固定的
值传递
// var a = 2
// function fn1 (x){
// x=4
// }
// fn1(a)
// // alert(a) ---2
引用类型地址
var a1 = [1,2,3]
function fn2(x){
x[0] = 50
}
fn2(a1)
alert(a1) ---50,2,3
3 拆箱与装箱
装箱:将值类型包装为对应的引用类型对象
var a = 12
b = new Number(12) ---装箱
拆箱:将引用类型对象拆成值类型包装 valueof()
c = new Number(23)
var d = c.valueOf()
typeof(d) --- number
最后
以上就是无限滑板为你收集整理的包装类型 和值类型 引用类型的全部内容,希望文章能够帮你解决包装类型 和值类型 引用类型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复