jquery js解析函数、函数直接调用
-----------------------------------------------------------------
cc = function(){alert(345)},
pushStack = function() {
cc();
},
pushStack();// //没加var的放在window对象中
pushStack = function() {
cc();
},
cc = function(){alert(345)},
pushStack();//
----------------------------------------------------------------
pushStack = function() {
cc();//cc is not defined
};
pushStack();
cc = function(){alert(345)}; pushStack = function() {
cc();
};
pushStack();//
function 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);//
alert(666);
};
a();//666 a.call(window)
window.a();//
}
}
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
jquery js解析函数、函数直接调用的更多相关文章
- jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法 在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...
- 关于js中函数的调用问题
js中函数的调用方法 1.直接调用 函数名(参数): 2.通过指向函数的变量去调用 例如: var myval = 函数名: 此刻 myval是指向函数的一个指针: myval(实际参数):此刻调用的 ...
- Js文件函数中调用另一个Js文件函数的方法
在项目中Js文件需要完成某一功能,但这一功能的大部分代码在另外一个Js文件已经完成,只需要调用这个文件实现功能.那么如何调用:一个Js文件函数中调用另一个Js文件函数的方法? (直接代码说明) 示例d ...
- JS中函数的调用和this的值
调用每一个函数会暂停当前函数的执行,传递控制权和参数给新函数.除了声明时定义的形式参数,每个函数还接收两个附加的参数:this 和 arguments. 参数this在面向对象编程中非常重要,他的值取 ...
- JS让函数只调用一次
1 . 在第一次调用函数时,就将该函数内容腾空,以到达函数仅调用一次 ———————————————————————————————— 2 . 设置布尔值来控制后面的函数调用 window.onlo ...
- js中的写出想jquery中的函数一样调用
1.IIFE: Immediately-Invoked function Expression 函数模块自调用 2.代码实现 <!DOCTYPE html> <html lang=& ...
- js 匿名函数-立即调用的函数表达式
先提个问题, 单独写匿名函数为什么报错?return 匿名函数 为什么不报错? 如图: 第二种情况在 f 还没有执行的时候,就报错了,,,当然这得归因于函数声明语句声明提前(发生在代码执行之前)的原因 ...
- 解决easyui jQuery JS的for循环调用ajax异步问题
由于JS的for循环与ajax非同步运行,因此导致for循环结束了而ajax却还未执行,解决此方法有两种 1.设置ajax参数async为false,即与js同步,默认是true(异步). 这里首先引 ...
- JS高级——函数的调用模式
函数调用模式一共有四种 <script> //1.函数模式 //this指向window全局对象 //2.方法模式 //this指向调用这个方法的对象 //3.构造函数模式 //this ...
随机推荐
- hdu 1024 最大m子段和
注:摘的老师写的 最大m子段和问题 以-1 4 -2 3 -2 3为例最大子段和是:6最大2子段和是:4+(3-2+3)=8所以,最大子段和和最大m子段和不一样,不能用比如先求一个最大子段和,从序列中 ...
- Android ImageView设置图片原理(下)
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 写完上一篇后,总认为介绍的知识点不多,仅仅是一种在UI线程解析载入图片.两种在子线程解析,在UI线程 ...
- Oracle EBS发放销售订单
模拟发放销售订单界面进行发放操作 PROCEDURE insert_row(x_batch_id OUT NUMBER) IS l_autopack_flag VARCHAR2(1 ); l_a ...
- cocos2d-x 2.2.0 怎样在lua中注冊回调函数给C++
cocos2d-x内部使用tolua进行lua绑定.可是引擎并没有提供一个通用的接口让我们能够把一个lua函数注冊给C++层面的回调事件. 翻看引擎的lua绑定代码,我们能够仿照引擎中的方法来做. 值 ...
- modSecurity规则学习(八)——防止CC攻击
modSecurity日志收集:在phase 5阶段处理. 由于CC攻击主要考虑对动态请求的防护,所以要排除静态资源的请求,或者自定义动态请求的后缀或者关键字做接口针对性的防护. 定义需要排除的请求u ...
- Sub Thread to update main Thread (UI) 2
Sub Thread to update main Thread (UI) 2 Handler.post(somethread); Handler.sendMessage("Msg&quo ...
- angularjs之手机输入法回车变搜索,并触发事件,兼容pc回车事件
一.效果:回车按钮变搜索 之前的输入法: 之后的输入法: 二.功能实现 <input type="search" id="search_input" pl ...
- 【Codeforces Round #424 (Div. 2) B】Keyboard Layouts
[Link]:http://codeforces.com/contest/831/problem/B [Description] 两个键盘的字母的位置不一样; 数字键的位置一样; 告诉你第一个键盘按某 ...
- [Javascript] Compose multiple functions for new behavior in JavaScript
In this lesson you will create a utility function that allows you to quickly compose behavior of mul ...
- BZOJ 2708 [Violet 1]木偶 DP
题意:id=2708">链接 方法: DP 解析: 这题太神辣. 做梦都没想到DP啊,反正我不会. 先谈一个我有过的错的想法. 最小费用最大流? 能匹配的边连费用为1的,不能匹配的连费 ...