JS嵌套函数调用上下文的问题解决_javascript技巧

复制代码 代码如下:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<script>
var stu ={
m: function(){
var self = this;
console.log(this === stu); // ==> true;
function f(){
// 调用嵌套函数时this不是指向调用外层函数的上下文
console.log(this === stu); // ==> false;
如果想访问外部函数的this需要将外部函数的this保存在一个变量中。
console.log(self === stu); // ==> true;
}
f();

}

}
</script>
<body>

</body>
</html>

时间: 2024-10-29 17:29:23

JS嵌套函数调用上下文的问题解决_javascript技巧的相关文章

JS嵌套函数调用上下文的问题解决

 这篇文章主要探讨了JS嵌套函数调用上下文的问题,需要的朋友可以参考下  代码如下: <!doctype html>  <html lang="en">  <head>  <meta charset="UTF-8">  <title>Document</title>  </head>  <script>  var stu ={  m: function(){  var s

js操作checkbox遇到的问题解决_javascript技巧

遇到操作checkbox的问题全选 复制代码 代码如下: $("input[type='checkbox']").each(function(){    this.checked=true    }) 反选$("input[type='checkbox']").each(function(){if(this.checked){    this.checked=false    }    else{        this.checked=true        }

js点击事件链接的问题解决_javascript技巧

复制代码 代码如下: <script> /*关于弹窗的链接的问题 * 2014-04-24 */1:超链接a onclick 弹窗之后如何让超链接a失效 //js解决 function arts(sourceobj){ var url = $(sourceobj).attr("href"); art.dialog.open(url, {title: 'title',width: 400, height: 300}); return false; } //jquery解决 $

js和as的稳定传值问题解决_javascript技巧

但是在实现js传值给flash时,flash在获取值存在几率性,有时可以获得到,有时有获取不到.后来发现,其实是由于<object ...></object>所对应的flash没有加载完,在js就开始调用flash中的ExternalInterface.addCallback()所开放的方法,导致flash还没获取到值时就开始播放音乐,此时,当然播放不了.为了保证能正常传值,就必须在flash加载完后才传值,可是如何判定呢?其实只要利用flash开放的js的接口PercentLoa

jsp 网站引入外部css或者js失效问题解决_javascript技巧

最近做项目,完成项目经理布置的任务,开始入门java web,但在开发过程中遇到过许许多多的问题,但是令我最头痛的还是导入外部css一直失效,困扰许久才找出原因. 路径问题 css或者js导入失效最有可能的原因就是路径错误,这里我给出我的网站目录结构,大家可以参考下. 导入css代码:     <link rel="stylesheet" type="text/css" href="css/login.css"> 记得jsp头部需要设

Js与下拉列表处理问题解决_javascript技巧

复制代码 代码如下: var obj=document.getElementByIdx("test"); if(0<obj.options.length){ //obj.options.remove(obj.selectedIndex); //IE 可用 obj.options[obj.selectedIndex]=null;//IE FF 均可 for(var i=0;i<obj.options.length;i++){//for 只为重新排序...可以忽略 obj.op

Vue.JS入门教程之自定义指令_javascript技巧

基础 Vue.js 允许你注册自定义指令,实质上是让你教 Vue 一些新技巧:怎样将数据的变化映射到 DOM 的行为.你可以使用Vue.directive(id, definition)的方法传入指令id和定义对象来注册一个全局自定义指令.定义对象需要提供一些钩子函数(全部可选): bind: 仅调用一次,当指令第一次绑定元素的时候. update: 第一次是紧跟在 bind 之后调用,获得的参数是绑定的初始值:以后每当绑定的值发生变化就会被调用,获得新值与旧值两个参数. unbind:仅调用一

浅析JavaScript作用域链、执行上下文与闭包_javascript技巧

闭包和作用域链是JavaScript中比较重要的概念,这两天翻阅了一些资料,把相关知识点给大家总结了以下. JavaScript 采用词法作用域(lexical scoping),函数执行依赖的变量作用域是由函数定义的时候决定,而不是函数执行的时候决定.以下面的代码片段举例说明,通常来说(基于栈的实现,如 C 语言) foo 被调用之后函数内的本地变量 scope 会被释放,但是从词法上看 foo 的内嵌匿名函数中 scope 应该指的是 foo 的本地变量 scope ,并且实际上代码的运行结

js运动事件函数详解_javascript技巧

本文实例为大家分享了js运动事件函数,供大家参考,具体内容如下 HTML <div id="breedsdog"> <h2 class="title">The Dog</h2> <p class="describe">Split between cat,belong to the cat family,cat,cat,is the world's more widely<br> in t