博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery js解析函数、函数直接调用
阅读量:7083 次
发布时间:2019-06-28

本文共 2885 字,大约阅读时间需要 9 分钟。

-----------------------------------------------------------------cc = function(){alert(345)},pushStack = function() {    cc();},pushStack();//345//没加var的放在window对象中pushStack = function() {    cc();},cc = function(){alert(345)},pushStack();//345----------------------------------------------------------------pushStack = function() {    cc();//cc is not defined};pushStack();cc = function(){alert(345)};pushStack = function() {    cc();};pushStack();//345function cc(){alert(345)};----------------------------------------------------------------cc = function(){alert(345)};pushStack();//pushStack is not defined ,js解析器执行到这里的时候pushStack还是未定义pushStack = function() {    cc(); };cc = function(){alert(345)};pushStack();//345,js解析器执行到这里的时候pushStack已经定义了function pushStack() {    cc(); };

 

name = '2';a = function(){    alert(this.name);    alert(888);},o = {    fn1 : function(){            a = function(){             //fn1执行的时候(fn1要执行,不执行是加不进去的)把a加到window里面去,把外部的a方法覆盖了                alert(this.name);//2  window                alert(this);//2                alert(666);            };            a();//666  a.call(window)            window.a();//666    }}o.fn1();window.a();// 2   666

 

name = '2';a = function(){    alert(this.name);    alert(888);},o = {    fn1 : function(){            this.a = function(){
//fn1执行,给o对象加了a方法 alert(this.name); alert(this); alert(666); }; a(); //2 888 a.call(window) ,都是从window中找a()没有就报错 window.a(); //2 888 }}o.fn1();window.a();// 2 888 o.a();//666
name = '2';a = function(){    alert(this.name);    alert(888);},o = {    fn1 : function(){            var a = function(){ //fn1函数执行,就有2个a方法,一个在fn1局部作用域,一个在window                alert(this.name);                 alert(this);                alert(666);            };            a(); //2  666  a.call(window),查找局部作用域的a方法            window.a(); // 2  888    }}o.fn1();window.a();//  2   888

 

jQuery = function() {            alert(1);            return new jQuery.fn.init();        },        jQuery.fn = jQuery.prototype = {
//fn是类的静态属性 //能够调用jQuery原型里(constructor()、pushStack())方法的只能是jQuery对象或者init对象:$('div')。 constructor: jQuery, init: function() { }, //$('div').pushStack,this是$('div'), pushStack: function() { alert(2); this.constructor();//1, this是init对象或者jQuery对象$('div'),返回的是新的空init对象 constructor();//constructor.call(window),调不了报错, }, } jQuery.fn.init.prototype = jQuery.fn; var j = constructor();//window调用不了 $('div').pushStack();//1,2,1, $('div')是init对象可以调用pushStack()方法 o = {} o.pushStack();//o.pushStack is not a function,能够调用pushStack方法是jQuery的对象后者init对象, new jQuery.fn.init().pushStack();//2 1

 

转载地址:http://ailml.baihongyu.com/

你可能感兴趣的文章
MVC 5 的 EF6 Code First 入门
查看>>
我的Eclipse快捷键.
查看>>
Codeforces Round #248 (Div. 1) B. Nanami's Digital Board 暴力 前缀和
查看>>
工作中常用的英文单词缩写
查看>>
bufferedReader 乱码问题
查看>>
Ubuntu16.04最快捷搭建小型局域网Git服务器
查看>>
Android--去除EditText边框,添加下划线,
查看>>
MapReduce类型与格式(输入与输出)
查看>>
SQL Server存储过程中使用表值作为输入参数示例
查看>>
如何设置ASP.NET页面的运行超时时间 (转载)
查看>>
Android混合开发之WebView与Javascript交互
查看>>
进入某页面之后,菜单栏中的菜单和功能消失了
查看>>
接口和抽象类的作用以及区别
查看>>
python 列表(list)去除重复的元素总结
查看>>
Linux查看CPU信息
查看>>
python logging模块 basicConfig配置文件
查看>>
STL iterator和reverse_iterator
查看>>
window下rabbitmq的配置问题
查看>>
YOCTO
查看>>
Apache Beam 传 大数据杂谈
查看>>