jQuery中is()和0

### 使用is()时,总有些似懂非懂的感觉,于是单独拿出来,查查资料,看看各大牛怎么说,等过一段时间,再回来看,在编辑吧。

根据runoob.cdn教程定义,如下图(截图真方便):
jQuery中is()和0


但是并没有说这个“is()”与事件的关系,于是我们再次搜索后,在W3cSchool中,我们看到这样一个例子:

EG:http://www.w3school.com.cn/tiy/t.asp?f=jquery_traversing_is_2

当我们点击除了“<strong>和<span>”包含的其他任意字母/符号/时,所在的<li>都会变红,那么也就意味着,is(“selectorElement”)所含的selectorElement必须是和事件(如本例中的“click”事件)是直接的父子关系;


之后我们有看到了第二个例子:

EG:http://www.w3school.com.cn/tiy/t.asp?f=jquery_traversing_is_3

jQuery中is()和0
如图,使用is()特性定义一个函数,之后直接可以通过判断这个函数来进行操作。

另外,在MDN网站上,我们看到了is()用来做比较的用法,语法:

Object.is(value1, value2);

既可以用来做比较,比如MDN给出的例子,(更加详细的在:《JavaScript 中的相等性判断》https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Equality_comparisons_and_sameness中可以看到):

Object.is('foo', 'foo'); // true
Object.is(window, window); // true
Object.is('foo', 'bar'); // false
Object.is([], []); // false
var test = { a: 1 };
Object.is(test, test); // true
Object.is(null, null); // true
// 特例
Object.is(0, -0); // false
Object.is(-0, -0); // true
Object.is(NaN, 0/0); // true

那么问题来了,这样有什么用?即,我们能拿is()的这一特性来干什么?
同样的在《JavaScript 中的相等性判断》中,文章提到了三等和is的区别在于对于+0和-0的处理上:jQuery中is()和0
也就是说,相比==和===,is()可以区分-0和+0,那么我们在扶赋值时,

let stoppingForce = obj.mass * -obj.velocity
例如,var x=y/stoppingForce;这时就出现使用objec.is()来判断的话就会出现false的情况,但如果我们用来镜像一个object时,就用object.is。

其实,我看到就已经看不懂了,什么

里氏替换原则(继承带来的弊端是,其继承了父元素的所有特性,并且使用子元素时,会影响父元素。)
还有一堆操作符的使用的等等。。。。

再往下说就更不懂了。。。。。。。就到这吧,我看了这几篇被人写的文章后,才突然发现白学了。。原来继承,值的比较。。等等还有这么多内容。。看来计算机基础科班出身的怪不得受欢迎。。回去速度补吧,这篇就当自己瞎写的。回头来改。==。
如果哪位大牛看到了,希望指点我一下、、

转载于:https://blog.51cto.com/13525888/2067214