关于javascript/jquery语法
我在任何地方都找不到类似这样的语法:关于javascript/jquery语法,javascript,jquery,Javascript,Jquery,我在任何地方都找不到类似这样的语法: var mz = jQuery.noConflict(); mz('#zoom01, .cloud-zoom-gallery').CloudZoom(); 这意味着:jQuery.noConflict()('#zoom01.cloud zoom gallery').CloudZoom() 像这样的: $(window)[this.off?'off':'on']("scroll", fixDiv ); 所以,我想知道以下语法: jQuery.noConfl
var mz = jQuery.noConflict();
mz('#zoom01, .cloud-zoom-gallery').CloudZoom();
这意味着:jQuery.noConflict()('#zoom01.cloud zoom gallery').CloudZoom()代码>
像这样的:
$(window)[this.off?'off':'on']("scroll", fixDiv );
所以,我想知道以下语法:
jQuery.noConflict()(语法)
和$(窗口)[syntax](语法)
,我还认为可能有类似的东西$(选择器){syntax}
有人能详细说明一下这些语法吗?foo['bar']
语法是从对象foo
获取属性bar
foo()
是执行函数foo
您可以根据自己的意愿将它们组合起来。
jQuery.noConflict()
返回一个函数,以便通过jQuery.noConflict()(语法)
执行结果
$(window)
返回一个对象,这样您可以通过$(window)[syntax]
从该对象获取属性,如果该属性是一个函数,那么您可以通过$(window)[syntax](syntax)
foo['bar']
从对象foo
获取属性bar
foo()
是执行函数foo
您可以根据自己的意愿将它们组合起来。
jQuery.noConflict()
返回一个函数,以便通过jQuery.noConflict()(语法)
执行结果
$(window)
返回一个对象,这样您就可以通过$(window)[syntax]
从中获取属性,如果属性是一个函数,那么您就可以通过$(window)[syntax](syntax)
执行它,这只是javascript语法
person.name
与person[“name”]
方法也是如此
$(窗口).on(…)
与$(窗口)[“on”](…)
第二种方法很酷的一点是,您可以将成员名称设置为变量,例如:
这样做:
var windowMethod = "on";
$(window)[windowMethod](...)
与
$(window)["on"](...)
$('#zoom01, .cloud-zoom-gallery').CloudZoom();
$(window)[this.off ? 'off' : 'on']("scroll", fixDiv );
var obj = {x:10, y:20};
$(obj)
括号内可以有一个表达式,因此:
$(window)[this.off ? 'off' : 'on']("scroll", fixDiv );
与执行此操作完全相同:
if(this.off)
$(window).off("scroll", fixDiv);
else
$(window).on("scroll", fixDiv);
但前者较短
希望这有帮助。干杯
PS:jQuery.noConflict()(语法)
很简单,.noConflict()
只返回一个函数,然后我们附加一些其他参数来调用它,就像调用任何其他函数一样。这只是javascript语法
person.name
与person[“name”]
方法也是如此
$(窗口)。在(…)
上,与$(window)[on”](…)
第二种方法很酷的一点是,您可以将成员名称设置为变量,例如:
这样做:
var windowMethod = "on";
$(window)[windowMethod](...)
与
$(window)["on"](...)
$('#zoom01, .cloud-zoom-gallery').CloudZoom();
$(window)[this.off ? 'off' : 'on']("scroll", fixDiv );
var obj = {x:10, y:20};
$(obj)
括号内可以有一个表达式,因此:
$(window)[this.off ? 'off' : 'on']("scroll", fixDiv );
与执行此操作完全相同:
if(this.off)
$(window).off("scroll", fixDiv);
else
$(window).on("scroll", fixDiv);
但前者较短
希望这有帮助。干杯
注:
jQuery.noConflict()(语法)
很简单,.noConflict()
只返回一个函数,然后我们附加一些其他参数来调用它,就像调用任何其他函数一样。最好从文档开始
许多JavaScript库使用$作为函数或变量名,只是
就像jQuery一样。在jQuery中,$只是jQuery的别名,所以
所有功能均可用,无需使用$。如果您需要使用
jQuery旁边的另一个JavaScript库,返回$back控件
调用$.noConflict()调用另一个库。旧的参考文献
在jQuery初始化过程中保存$;noConflict()只恢复
他们
换句话说,noConflict()
将变量设置为等于jQuery
,因此
var mz = jQuery.noConflict();
mz('#zoom01, .cloud-zoom-gallery').CloudZoom();
与
$(window)["on"](...)
$('#zoom01, .cloud-zoom-gallery').CloudZoom();
$(window)[this.off ? 'off' : 'on']("scroll", fixDiv );
var obj = {x:10, y:20};
$(obj)
或
noConflict()
不直接使用选择器,它只是一个函数,将特定范围内的jQuery设置为一个变量,这样您就可以拥有多个版本的jQuery(您不应该这样做),或者使用其他库也使用$
进行某些操作,它不会镜像选择器引擎或其他任何东西,即使乍一看可能是这样,它也只返回jQuery的一个实例
在javascript中有点表示法和括号表示法,因此可以按如下方式访问对象:
object.propertyName
或
由于javascript中的所有内容都是一个对象,甚至jQuery方法也可以作为对象访问
$('#element').fadeIn(200);
或
这是同样的事情,这么做
$(window)['on']("scroll", fixDiv );
与
$(window).on("scroll", fixDiv );
var event = this.off ? 'off' : 'on';
使用方括号的优点是,它们可以包含任何字符串,甚至变量,或者在本例中是三元语句,或者函数的返回结果
var event = 'on';
$(window)[event]("scroll", fixDiv );
或
它还使用了这个
,它在全局范围内是窗口
,与
$(window)["on"](...)
$('#zoom01, .cloud-zoom-gallery').CloudZoom();
$(window)[this.off ? 'off' : 'on']("scroll", fixDiv );
var obj = {x:10, y:20};
$(obj)
三元语句本身只是一个奇特的条件
var event;
if (this.off) {
event = 'off';
} else {
event = 'on';
}
完全一样
$(window).on("scroll", fixDiv );
var event = this.off ? 'off' : 'on';
为编辑的问题添加:
jQuery()
或$()
是一个函数,我们可以从括号中看出这一点,所以它类似于
function jQuery(arguments) {
// do something
}
这可以称为
jQuery(some_arguments);
正如var$=jQuery
一样,我们也可以做$()代码>
既然我们知道它是一个函数,那么我们可以这样做是有道理的
$('#element_id')
在内部,jQuery检查我们传递的参数类型,它看到这是一个字符串,它以#
开头,因此它是一个ID,然后jQuery可以执行document.getElementById()
并获取DOM元素,同时它将该元素包装在一个新的类似数组的对象中,通常称为jQuery对象
我们还可以传入一个DOM节点、数组、对象或任何其他对象,jQuery尝试找出它是什么,并将该jQuery对象包装起来,以便与其他jQuery方法一起使用,因此:
$({x:10, y:20})
是