jquery js解析函数、函数直接调用

-----------------------------------------------------------------
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();//345
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);//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   888o.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
时间: 2024-08-05 13:49:16

jquery js解析函数、函数直接调用的相关文章

关于js中函数的调用问题

js中函数的调用方法 1.直接调用 函数名(参数): 2.通过指向函数的变量去调用 例如: var myval = 函数名: 此刻 myval是指向函数的一个指针: myval(实际参数):此刻调用的就是myval指向的那个函数: 关于js中函数返回值的获取 var myval = 函数名(): 此刻myval 的值则是函数的返回值,若函数没有有返回值,则myval则被赋予undefine.

jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法

jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法 在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:true(默认情况),如: function ManageCommentText(text) { var result = text; $.ajax({ data: "get", url: &qu

JS中函数的调用和this的值

调用每一个函数会暂停当前函数的执行,传递控制权和参数给新函数.除了声明时定义的形式参数,每个函数还接收两个附加的参数:this 和 arguments. 参数this在面向对象编程中非常重要,他的值取决于调用的模式. 在JS中一共有4中调用模式:方法调用模式.函数调用模式.构造器调用模式和apply调用模式.这些模式在如何初始化关键参数this上存在差异. 方法调用模式 当一个函数被保存为对象的一个属性时,我们称为一个方法.当一个方法被调用时,this被绑定到该对象. var myObject

JS匿名函数之调用

何为匿名函数 很多东西我们可以通过字面就可以理解,当然也不是所有的都可以通过字面能理解的,因为程序语言毕竟是个很抽象的东西,光从字面理解肯定不够也不行,但是匿名函数就可以.所谓匿名函数就是没有名称的函数,例如下面这种: function (b) { a=1; c=a+b; return c; } 上面很简单,就是在我们定义一个函数的时候,我们并没有给它一个名称,这就是我们的匿名函数! 但是问题来了,匿名函数如何调用呢,我们都知道有名称的函数调用方式,例如: function jiujiu(b)

[沫沫金]JS匿名函数this调用变量报错

背景 今天使用Dcloud扫码功能,success成功方法设置data中的scanContext变量,报"undefined"! 思路 一.怀疑是扫码内容不是JSON对象,无法点属性报错.排除,使用JSON.parse转换成功后,依然报"undefined".二.怎么就"undefined"呢,百思不得其解.继续想办法 解决 突然,看到附件选择的方法,人家是设置的this.fileUrl成功的.比对下,什么区别.发现定义的匿名方法,写法不同.我的

js中的写出想jquery中的函数一样调用

1.IIFE: Immediately-Invoked function Expression 函数模块自调用 2.代码实现 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <div id="demo">的么的事</div> <

1高级js总结-------函数匿名自调用:即jquery的$的原理

<script type="text/javascript">var f1 = function(){ console.log('f1f1f1');}var f1 = "tom"; //同名的f1把上边的函数给覆盖/污染了.f1(); //f1f1f1 //匿名函数自调用,好处:本身不会被同名变量污染.(function(){ console.log('hello'); })(); (function(addr){ console.log('地址:'+a

JS匿名函数声明,调用;JS闭包详解(转载)

js匿名函数的代码如下:(function(){ // 这里忽略jQuery 所有实现 })(); 半年前初次接触jQuery 的时候,我也像其他人一样很兴奋地想看看源码是什么样的.然而,在看到源码的第一眼,我就迷糊了.为什么只有一个匿名函数又没看到运行(当然是运行了…… ),就能有jQuery 这么个函数库了?于是,我抱着疑问来到CSDN .结果相信现在很多人都很清楚了(因为在我之 后也不乏来者,呵呵~ ).当一个匿名函数被括起来,然后再在后面加一个括号,这个匿名函数就能立即运行起来!真神奇哦

jquery刷新页面 页面跳转 js常用函数

jquery刷新页面 局部刷新: 这个方法就多了去了,常见的有以下几种: $.get方法,$.post方法,$.getJson方法,$.ajax方法如下 前两种使用方法基本上一样 $.get(”Default.php”, {id:”1″, page: “2″ }, function(data){ //这里是回调方法.返回data数据.这里想怎么处理就怎么处理了. }); $.getScript方法: $.getScript(”http://jqueryajax.com/jquery.js”, f