发新贴  快速回复

关于js中的引号的问题

新城路
2014-05-22 23:35
例如在写判断类型时
  var a=123;
alert(typeof(a)=='number')
在上面number中为什么要加引号呢,这样不是作为一个字符串了吗
bernd
不加引号就是个变量。。
2014-05-23 09:04  回复本帖
小码
反正不加引号不行
2014-05-23 09:10  回复本帖
新城路
forum.php?mod=redirect&goto=findpost&pid=26702&ptid=8347
不加引号就是个变量。。

谢谢,那例如像true、false之类的为什么不加引号可以的呢?在这上面还是不太清楚为什么
2014-05-23 19:15  回复本帖
 
创美易-miaov
这个是编程的一些固定规则语法,比如人的眼睛为什么有2个,而不是3个、4个、5个...
2014-05-23 20:40  回复本帖
bernd
forum.php?mod=redirect&goto=findpost&pid=26720&ptid=8347
谢谢,那例如像true、false之类的为什么不加引号可以的呢?在这上面还是不太清楚为什么 ...

true、false这些东西是关键字。这些东西不用搞的太了解,记住这是规则就好了。。
2014-05-23 22:14  回复本帖
无为
因为 typeof 得到的结果是一个字符串,看下面这个小例子。


var a = 5; //声明一个变量a, 并赋一个number类型的数字5给它

var b = typeof a;  // 声明一个变量b, 把查看a的数据类型的结果存入 b 中。

alert( typeof b); // 查看b的数据类型,得到 string .  说明 typeof 得到的结果是一个字符串类型的


var c = true; //声明一个变量c, 并将一个布尔值赋给它

var d = typeof c; // 查看c的数据类型,并将查看结果存入变量 d 中。

alert(typeof d); //查看d的数据类型,得到 string .  说明 typeof 得到的结果是一个字符串类型的



所以,要判断一个变量是属于什么类型,后面的类型值都应该是一个字符串值。比如判断一个变量 n 是否是数字,应该写成: if( typeof n === 'number' ){};
2014-05-24 00:20  回复本帖
无为
forum.php?mod=redirect&goto=findpost&pid=26720&ptid=8347
谢谢,那例如像true、false之类的为什么不加引号可以的呢?在这上面还是不太清楚为什么 ...

你指的 true ,false 之类的 具体是指什么样的? 

是像  if( a == true ){}  这样么?这个道理跟上面的是一样的,因为 typeof 的结果是字符串,所以判断当然也是要跟字符串类型比较,而这里想要判断的是布尔值,布尔值就是true或false.

如果 true 和 false 加上引号,写成 'true' 和 'false', 那么这两个值就不再是一个布尔值,而是一个字符串值,只是他们的值刚好跟布尔值一样而已,但是类型却是字符串。

'true' 、'false' ,跟 '123' 一样,都是字符串,它们永远表示是一个真值。
2014-05-24 00:25  回复本帖
无为
forum.php?mod=redirect&goto=findpost&pid=26703&ptid=8347
反正不加引号不行

原因看楼下的回复哦。
2014-05-24 00:25  回复本帖
无为
forum.php?mod=redirect&goto=findpost&pid=26721&ptid=8347
这个是编程的一些固定规则语法,比如人的眼睛为什么有2个,而不是3个、4个、5个... ...

任何编程规则都是有实质的文字解释,不是空口约定。

人的眼睛之所以是2个,也是可以通过物理知识进行解释的。
2014-05-24 00:29  回复本帖
 
创美易-miaov
forum.php?mod=redirect&goto=findpost&pid=26734&ptid=8347
任何编程规则都是有实质的文字解释,不是空口约定。

人的眼睛之所以是2个,也是可以通过物理知识进行解 ...

亮哥高解~~
2014-05-24 00:35  回复本帖
新城路
forum.php?mod=redirect&goto=findpost&pid=26734&ptid=8347
任何编程规则都是有实质的文字解释,不是空口约定。

人的眼睛之所以是2个,也是可以通过物理知识进行解 ...

谢谢这么晚还给我耐心的解答,看完你的讲解,顿时明白了,非常感谢版主
2014-05-25 18:01  回复本帖
登录 后才可以发表回复