string number 等一些数据类型,
有时候开头是大写是什么原因?他们两个一样么
单纯说类型的时候就是大写。
然后就是做构造函数名时大写,这个应该能分的清。
在MDN上有一句话。
首字母大写的Undefined表示的是一种数据类型,小写的undefined表示的是属于这种数据类型的唯一的一个值。
至于typeof()检测类型的返回值为什么是小写,因为返回的是字符串,就是那么规定的。
"string", "number"除了检测类型的时候,在别的地方好像没见过啊。
如果你想学习js并靠这个吃饭,那你这个问题就完全没必要。js的类型并不十分强制(不太好形容),很灵活。你可以声明个字符串然后又给变量赋值数值类型,随心所欲。你只要知道几个类型转换的方法就行了,悄悄的写几个输出,如果值是带双引号的,那就是字符串,不带双引号就是数字了。字符串转数字,直接在变量前加+就ok,数字转字符串就调用toString()方法。至于你研究他们的大小写的区别,或者到底用new声明好还是直接声明好,完全没必要。你如果在公司写个var str = new String(); 直接被嘲笑了。
既然不补充的话, 我也来猜一下.
new String()
和 String()
的区别
String() 函数把对象的值转换为字符串。// 函数 -> 返回值为字符串
typeof String("123")
new String() 创建 String 对象。// 实例化对象 -> 返回值对象
typeof new String("123")
"123".substr(0,2)//执行结果是什么?
答案为 自己运行一下.
其实啊, 很明显答案为"12".
但是作为一个基本类型为什么这么不安分, 能有自己的方法呢?
而在读取模式中访问字符串时,后台都会自动完成下列处理:
(1)创建String类型的一个实例。
(2)在实例上调用指定方法。
(3)销毁这个实例。
所以"123".substr(0,2); 等同于new String("123").substr(0,2);
Boolean/new Boolean 和 Number/new Number, 其区别也基本和上述相同.
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
不一样,你得区分基本数据类型和基本包装类型,详见js高设第118页