课程商城网站模板,运城seo招聘,郑州网站专业制作,公司团建活动基本数据类型不能绑定属性和方法
属性和方法只能添加给对象#xff0c;不能添加给基本数据类型。我们拿字符串来举例。
1、基本数据类型#xff1a;
基本数据类型string是无法绑定属性和方法的。 var str qianguyihao;str.aaa 12;console.log(typeof str); //打印结果…基本数据类型不能绑定属性和方法
属性和方法只能添加给对象不能添加给基本数据类型。我们拿字符串来举例。
1、基本数据类型
基本数据类型string是无法绑定属性和方法的。 var str qianguyihao;str.aaa 12;console.log(typeof str); //打印结果为stringconsole.log(str.aaa); //打印结果为undefined
上方代码中当我们尝试打印str.aaa的时候会发现打印结果为undefined。也就是说不能给 string 绑定属性和方法。
当然我们可以打印 str.length、str.indexOf(m)等等。因为这两个方法的底层做了数据类型转换临时将 string 字符串转换为 String 对象然后再调用内置方法也就是我们在下一段将要讲到的包装类。
2、引用数据类型
引用数据类型String是可以绑定属性和方法的。如下 var strObj new String(smyhvae);strObj.aaa 123;console.log(strObj);console.log(typeof strObj); //打印结果Objectconsole.log(strObj.aaa);
打印结果 内置对象 Number 也有一些自带的方法比如 Number.MAX_VALUE; Number.MIN_VALUE;
内置对象 Boolean 也有一些自带的方法但是用的不多。
基本包装类型
介绍
我们都知道JS 中的数据类型包括以下几种。 基本数据类型String 字符串、Number 数值、BigInt 大型数值、Boolean 布尔值、Null 空值、Undefined 未定义、Symbol。 引用数据类型Object 对象。
JS 为我们提供了三个基本包装类 String()将基本数据类型字符串转换为 String 对象。 Number()将基本数据类型的数字转换为 Number 对象。 Boolean()将基本数据类型的布尔值转换为 Boolean 对象。
通过上面这这三个包装类我们可以将基本数据类型的数据转换为对象。
代码举例 let str1 qianguyihao;let str2 new String(qianguyihao);let num new Number(3);let bool new Boolean(true);console.log(typeof str1); // 打印结果stringconsole.log(typeof str2); // 注意打印结果object
需要注意的是我们在实际应用中一般不会使用基本数据类型的对象。如果使用基本数据类型的对象在做一些比较时可能会带来一些不可预期的结果。
比如说 var boo1 new Boolean(true);var boo2 new Boolean(true);console.log(boo1 boo2); // 打印结果竟然是false
再比如说 var boo3 new Boolean(false);if (boo3) {console.log(qianguyihao); // 这行代码竟然执行了}
基本包装类型的作用
当我们对一些基本数据类型的值去调用属性和方法时JS引擎会临时使用包装类将基本数据类型转换为引用数据类型即“隐式类型转换”这样的话基本数据类型就有了属性和方法然后再调用对象的属性和方法调用完以后再将其转换为基本数据类型。
举例 var str qianguyihao;console.log(str.length); // 打印结果11
比如上面的代码执行顺序是这样的 // 步骤1把简单数据类型 string 转换为 引用数据类型 String保存到临时变量中var temp new String(qianguyihao);// 步骤2把临时变量的值 赋值给 strstr temp;// 步骤3销毁临时变量temp null;
在底层字符串以字符数组的形式保存
在底层字符串是以字符数组的形式保存的。代码举例 var str smyhvae;console.log(str.length); // 获取字符串的长度console.log(str[2]); // 获取字符串中的第3个字符下标为2的字符
上方代码中smyhvae这个字符串在底层是以[s, m, y, h, v, a, e]的形式保存的。因此我们既可以获取字符串的长度也可以获取指定索引 index 位置的单个字符。这很像数组中的操作。
再比如String 对象的很多内置方法也可以直接给字符串用。此时也是临时将字符串转换为 String 对象然后再调用内置方法。 写在最后希望大家可以点个关注点个赞这对up真的很重要谢谢
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。