麻烦高手解答下js变量的作用域作用域问题

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

==, 两边值类型不同的时候,要先进行类型转换,再比较。

==,不做类型转换,类型不同的一定不等。

先说 ===,这个比较简单。下面的规则用来判断两个值是否===相等:

1、如果类型不同,就[不相等]

2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断)

3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。

4、如果两个值都是true,或者都是false,那么[相等]。

5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。

6、如果两个值都是null,或者都是undefined,那么[相等]。

再说 ==,根据以下规则:

1、如果两个值类型相同,进行 === 比较。

2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:

b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。

c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。

d、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。js核心内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。非js核心的对象,令说(比较麻烦,我也不大懂)

e、任何其他组合,都[不相等]。

类型不等,true会先转换成数值 1,现在变成 "1" == 1,再把"1"转换成 1,比较 1 == 1, 相等。

因为a,b的类型不一样

===用来进行严格的比较判断

按照我的理解就是说他比==更加严格,因为javascript是弱类型的所以很多对象就算是类型不一样而值一样的时候,用==的话就会是相等的,但是如果用===他们就是不相等的。

结果中的第一个元素为正则表达式()a匹配到的全部字符串,第二个元素为第一个“捕获”()的结果,这里表示单词边界,相当于正则表达式里的\b

回到题目,题目中的写法等价于 ''.match(/(\b)/),由于正则表达式主体就只有捕获,故结果中第一个元素和第二个元素相同,看起来像个"空字符串",实际不是“空”,请对比第三点理解。

研究了一年多的js,也差不多写一个自己的js库了。我写这个不算框架,只是一个小型的js工具库,所以我用的名字是Library。主要集合了我写js时一些常用的方法,并参考了的控件,完全的手工制作。前台基本上是静态的,跟后台没有关系,所以后台用什么语言做都可以(后面有各个版本的实例下载)。本来觉得这个系统会很复杂,但把每个部分都分析清楚后,其实需要的技术并不高。不过当我把各个功能函数都整理好准备进行封装时,却发现要把程序封装不是那么容易,因为程序跟html的耦合度太高。然后我逐步把程序中操作html相关的部分分...

近来还是那么忙,趁五一更新一下程序吧。这个版本主要增加和改进了以下东西:1,对字符串改用localeCompare来比较;2,一次排序中能使用多个排序对象(用于值相等时再排序);3,修正一些发现的问题;4,改进程序结构,个人觉得是更灵活更方便了;5,增加bool类型比较;6,添加attribute/property的内容;7,修正ie6/7的radio/checkbox状...

上一阵子做过一个图片切割效果,得到很多人关注。其中有很多人向我询问如何做一个真正的图片切割(裁剪),这里需要声明一下:首先js是不能操作客户端文件的(除非特殊情况),所以图片的切割必须在后台处理,对于客户端的图片可以先上传再切割或者把图片和切割参数一起传递到服务器再处理(上传文件不在本次讨论范围,请自行修改);还有是通过客户端传递的参数来处理图片,确实能得到展示图或预览图的效果(这是针对有些提出在...

摘要: 相关推荐:AlertBox 弹出层(信息提示框)效果 近来要做一个LightBox的效果(也有的叫Windows关机效果),不过不用那么复杂,能显示一个内容框就行了。这个效果很久以前就做过,无非就是一个覆盖全屏的层,加一个内容显示的层。不过showbo教了我position:fixed这个新特性,决定重写一遍。先看效果:LightBox 内容显示 ps:“定位效果”的意思是...

摘要: 程序集合了宽度、高度、透明度、top、left的渐变,可以自定义渐变项目和各个项目的初始值结束值,还能以任意点(定点)为中心渐变。使用该程序能实现很多常见的动画特效,包括大小变换、位置变换、渐显渐隐等等。效果: 程序说明: 渐变效果的原理就是利用定时器不断设置值,如果要减速效果就设置一个步长(详细看JavaScript 弹簧效果) 。这里只是把能渐变的属性(透明度、宽、高、left、top)整合在...

摘要: 近来要做一个记事本系统,想找一个合适的日历控件,但网上的都是那种日历选择控件。于是到qq的记事本系统找了一个,但里面的算法有点落后,所以用了它的样式自己写了个。效果:<<>>年 月 日一二三四五六 程序说明【Date】这个日历控件运用了很多Date相关操作和方法。先说说Date对象几个有用的属性:getFullYear:返回年份值getMonth:返回月份值getDate:...

摘要: 由于asp的cookie是经过url编码的,所以读之前要unescape一下。下面是我用正则的方法取cookie,包括单值和多值:[代码]有不完善的话,欢迎指出。

摘要: ie7的li:hover问题[代码]ie6和ff都很正常但ie7就有问题,当把光标放在文本框中,然后再把鼠标放在菜单上,弹出来的菜单就不会消失了解决方法是去掉#list:hover或者加一个样式在onmouseout中设置但未知什么原因ie6的line-height失效问题[代码]ie7和ff显示正常 但ie6的line-height就没效果未知解决方法,未知原因ie高度设置问题[代码]这是一个全...

序一(08/07/21)很久之前就在一个网站的截取相片的功能中看到这个效果,也叫图片裁剪、图片剪切(设置一下也可以做出放大镜等类似的效果)。当时觉得很神奇,碍于水平有限,没做出来。前些日子突然想做一个透镜效果,就突然想到了这个效果,于是找出当年“珍藏”的代码决定一尝所愿。序二(08/12/06)自上一个版本的图片切割效果出来后,虽然也经常看到“框架开发这个如何如...

摘要: 序一(08/07/06)看到alibaba的一个图片切换效果,感觉不错,想拿来用用。但代码一大堆的,看着昏,还是自己来吧。由于有了做图片滑动展示效果的经验,做这个就容易得多了。序二(09/03/19)自写了Tween缓动之后就很想重新写过这个效果,近来有点时间,终于可以动手了。除了改成Tween缓动,也改进了程序算法,不过原理还是一样的。效果预览 仿淘宝/alibaba图片切换: 程序说明原理就是...

请到这里看09-08-18更新版本类似的多级浮动菜单网上也很多实例,但大部分都是只针对一种情况或不够灵活,简单说就是做死了的。所以我就想到做一个能够自定义菜单的,有更多功能的多级浮动菜单。而其中的关键就是怎么根据自定义的菜单结构来生成新菜单,关键中的难点就是怎么得到下级菜单结构和容器对象的使用。理想的做法是每次有下级菜单时,从对象直接取得下级菜单结构,放到容器对象中,并且容器能重用,而不是每次都重...

摘要: 能够根据自定义的菜单数据和select,自动设置联级的下拉菜单,可定义默认值。效果: 其中参数1是菜单结构:[代码]参数2是select的id集合(按顺序):[代码]可设置默认值(按顺序):[代码]源码:[代码]

摘要: 仿照常见的那个图片变换flash做的效果,纯js。不过滤镜变换只对应ie,ff只能看到一般的切换。这个js做的效果最早在sina看到,这里把这个效果封装好方便使用。效果: 程序说明: 图片未开始转换时,由于没有图片会显示一个红x,所以隐藏图片: [代码] ps:以前我用this._img.src="javascript:void(0);";但这个在ie8会出错。 这个变换效果需要滤镜,所以只支持i...

摘要: 上次做图片滑动展示效果时做了减速效果,就想做一个加速效果。结合起来就想到了下面这个东西,当然只是类似弹簧,而不是真正的弹簧。先看效果: 固定范围反弹: 范围渐变反弹: 自定范围反弹:范围: 程序说明:虽然说的是弹簧效果,但实际上要实现的是定点坐标之间的加速和减速移动。 点到点的移动应该都知道怎么做,这里是通过设置滑动对象的left来实现的。 而减速效果,一般的做法是通过用目标值减当前值除以一个系数...

摘要: 这里说的滑移其实就是减速效果,能根据设定的坐标平面移动。 效果自动滑移: 定点滑移:(鼠标点击) 定线滑移:(鼠标拖动轨迹) 代码:

图片滑动(扩展/收缩)展示效果看到jQuery实例:图片展示效果后,我也想拿来试试,但我不太喜欢用框架,所以自己做了个。其中的难点在于怎么设计各个滑动对象进行想要的滑动。一开始我想的是利用滑动对象的宽度的变化来实现滑动,但实行起来发现这个只能在理想状态下实现,一般实现起来很困难。所以还是参照了实例中的方法,利用left的变化来实现滑动。 效果:1111111

摘要: 根据无缝滚动和八向滚动修改而来,特点是能同一程序中分别向四个方向移动。对滚动框内的样式设置有些要求。效果:顺德于1993年被批准为广东省综合改革试点。 2006年顺德成为首个GDP超过1000亿的县级行政单位。 2000至2003年顺德均在中国百强县排名中位居榜首。 2005年顺德实现国内生产总值856.11亿元。

我要回帖

更多关于 js变量的作用域 的文章

 

随机推荐