JS基本类型与无法定义的属性
来源:互联网 发布:cad中网络接口怎么画 编辑:程序博客网 时间:2024/06/05 11:11
在浏览器中,变量一旦声明为基本类型,则再也无法为其添加其他属性,示例如下:
// 变量一旦声明为基本类型,则无法添加属性 var username = 'yiifaa'username.from = 'china'// 输出为undefinedconsole.log(username.from)
改为严格模式,再测试如上代码:
"use strict";var username = 'yiifaa'username.from = 'china'console.log(username.from)
执行上面的代码,则直接提示如下错误:
Uncaught TypeError: Cannot create property 'from' on string 'yiifaa' at 1.html:21
可见,基本类型无法添加属性,切换为Object.defineProperty方式,依旧提示错误:
var username = 'yiifaa'Object.defineProperty(username, 'from', { value : 'china'})console.log(username.from)
错误信息如下:
Uncaught TypeError: Object.defineProperty called on non-objectat Function.defineProperty (<anonymous>)at 1.html:17
很明确的错误提示信息,无法为非对象类型定义属性。
如果,确实要为String添加自定义属性,则需要修改声明方式,如下:
var username = new String('yiifaa')// 输出为objectconsole.log(typeof username)
现在username变量已支持自定义属性的添加了。
结论
不同的变量声明方式会导致变量具有不同的特性,如String()与new String()、Boolean()与new Boolean(),基本类型与否,则决定了以后的操作范围。
阅读全文
0 0
- JS基本类型与无法定义的属性
- js 基本类型与引用类型的区别
- js 基本类型与引用类型的区别
- js 基本类型与引用类型的区别
- 在js中基本类型与引用类型的详解
- js 基本类型与引用类型的区别
- JS的基本类型
- js中的基本类型与包装类型
- js中基本类型与引用类型
- JS基本类型与Java的区别复习
- 类型的定义与申明
- JS基本类型与引用类型的值与作用域
- js的基本类型和引用类型
- Spring、基本类型属性和集合类型属性的注入
- js基本数据类型与类型检测
- c++基本类型定义
- Windows 基本类型定义
- js笔记2 数值类型与变量的定义与使用
- (十)Canvas 的基本使用
- 图片切分小程序和图片重新调整大小兼重命名小程序
- Intellij Idea如何像Eclipse一样的Tab快捷键可以直接跳出括号
- arm64-v8a 百度地图
- BZOJ 4666 小z的胡话
- JS基本类型与无法定义的属性
- 视频录制(一)—mediaRecorder介绍
- Mac下关于——你不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效。文件的删除
- Python之爬虫
- 正则方法exec和test,String方法match,replace
- 设计模式 观察者模式 以微信公众服务为例
- $.ajax使用总结(三):在Spring MVC中实现文件上传
- JAVA-AESCB加密
- 杜广纯案“和谐年代”小问题被拖大历史转折公平正义即将归来