`
opensuse
  • 浏览: 183898 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

《ppk谈JavaScript》之1:基础2

阅读更多

 1.在单引号和双引号的选择上呢。有时也想有自己的规律,但是因为大多数时候都是在改别人的文件。所以也就懒得去管这些。

   但是今天在看到作者选择的方法:总是用单引号来JS字符串,而在HTML中使用双引号。 于是决定我也采用这种方法,踩着别人的脚印走嘛。

   但是在需要字符串 I'm a JavaScripter! 时要怎么打印呢?没关系,用转义符号"\ "(郁闷一小下,总也分不清哪个是反斜杠

   哪个是斜杠)。。
   如:

var  str = 'I\'m a JavaScripter!';

alert(str);


 2.作者的布尔生成器地址:http://www.quirksmode.org/js/boolean.html(鬼知道CSDN的超链接为什么不好用,鄙视一下)

   布尔型去处规则里“&&”和“||”其实的运算比较特殊。

   即采用这种方式运算返回的即不是true也不是false(但是最终体现的结果是这个),而实际返回的是最后一次被求值的表达式的值

   例如:

  
//a
var z = x || y;

//b
var z = x && y;

   在a里,如果不管x为false还是true都要计算y的值,即把y的值赋给了z,在这晨y的值肯定是最后被计算的表达式了

   而在b里,如果x为false则根本不用计算y的值,即把x的值赋给了z,在这里x的值可能就是最后被计算的表达式了

   (也不知道大家能否听明白,反正我是给自己看的,自己懂了,O了。哈哈~~)

 3.if语句里的条件部分永远都被转化成了布尔型 ,并且只有当条件为真时才执行下面的语句体

   来分析一下书中的例子:

var e = [event object];//一个动作对象(这里省略代码)

var evtTarget = [target of event];

if(!(

   (evtTarget.nodeName == 'SELECT' && e.type == 'change')

   ||

   (evtTarget.nodeName == 'INPUT' && evtTarget.getAttribute('rel'))

   ))  return;

   首先,这是一个判断一种如果没怎么怎么滴就返回 的语句。

   其次那么就看看他判断的条件是什么也就是说如果后面的条件,即不满足什么条件就返回

   设里面两个子条件为case1和case2,则只有当case1 || case2 == false时才返回(即就得返回)

   而因为是或的关系所以只有当case1和case2都为false时case1||case2才为false

   所以是第一个条件也不成立,并且第二个条件也不成立时那么就不往下执行了

   case1说明:事件目标对象是一个<select>元素,并且事件类型是change这个值就是true

   case2说明:事件目标对象是一个<input>元素,并且其拥有rel属性

   所以该语句其实是说:当即没有改变选择框的选项,也没有点击一个拥有rel属性的文件输入框那么函数就不执行了

   (真累啊,解释的我都快晕了,我当时就特头疼这种东西的分析,有时候真的想不明白,于是当给自己留一个备份了)

 4.最后回顾一下将一个值转换成布尔值的规则

  
a.特殊值undefined和null变成false

b.数字0和NaN变成false

c.空字符串变成false

d.所有其他值变成true

  今天就写这么多吧,老婆困的不行了,我的眼睛也睁不开了,会周公去了(貌似今天也就只看了这么多,再写也写不出来了,或者叫抄??哈哈~~)~~。。。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics