当前位置 : 主页 > 网络编程 > JavaScript >

js的一些潜在规则使用分析

来源:互联网 收集:自由互联 发布时间:2023-03-17
目录 为什么开发中建议使用void 0 来代替undefined 为什么开发中将未赋值的变量赋值为null,而不是undefined String类型的长度 为什么parseInt在将字符串转为数字的时候,需要指定第二个参数
目录
  • 为什么开发中建议使用void 0 来代替undefined
  • 为什么开发中将未赋值的变量赋值为null,而不是undefined
  • String类型的长度
  • 为什么parseInt在将字符串转为数字的时候,需要指定第二个参数
  • 对象转基本数据类型的规律
  • JavaScript 中对象独有的特色
  • JavaScript对象分类
    • 宿主对象
    • 内置对象
    • 特殊行为对象

为什么开发中建议使用void 0 来代替undefined

因为 JavaScript 的代码 undefined 是一个变量,而并非是一个关键字,这是JavaScript 语言公认的设计失误之一,所以,我们为了避免无意中被篡改,我建议使用void 0 来获取 undefined 值。

MDN上的解释: undefined is a property of the global object. That is, it is a variable in global scope. The initial value of undefined is the primitive value undefined

为什么开发中将未赋值的变量赋值为null,而不是undefined

null 表示的是:“定义了但是为空”。所以,在实际编程时,我们一般不会把变量赋值为 undefined,这样可以保证所有值为 undefined 的变量,都是从未赋值的自然状态。

String类型的长度

因为 String 的意义并非“字符串”,而是字符串的 UTF16 编码,我们字符串的操作charAt、charCodeAt、length 等方法针对的都是 UTF16 编码。所以,字符串的最大长度,实际上是受字符串的编码长度影响的。

JavaScript 中的字符串是永远无法变更的,一旦字符串构造出来,无法用任何方式改变字符串的内容,所以字符串具有值类型的特征。

JavaScript 字符串把每个 UTF16 单元当作一个字符来处理,所以处理非 BMP(超出U+0000 - U+FFFF 范围)的字符时,你应该格外小心。

"\uD835\uDD46" // " 
上一篇:高频率Vue面试题汇总以及答案
下一篇:没有了
网友评论