Chapter 1
问题一:JavaScript对象,基本类型和字面值之间的区别?
基本类型和字面值相等,对象实例和字面值不相等(可用于快速区分基本类型和对象实例)
问题二:验证一个变量已经定义了,是一个字符串,并且它不为空
1.一般解决思路:
if(typeof unknownVariable === 'string' && unknownVariable.length > 0)
,但此处忽略了该变量可能为String对象,此时使用typeof
就会返回Obejct
2.较好解决思路:
if(((typeof unknownVariable!= 'undefined' && unknownVariable) && unknownVariable.length()>0) && typeof unknownVariable.valueOf() == 'string')
先判断其是否未定义,或定义了为null
,再通过其长度判断是否为空,此时满足条件的可以为数组可以为字符串,因此在通过最后的valueof
将其类型锁定至string
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。