|  | 
 
 发表于 2016/10/15 16:52
|
显示全部楼层
|阅读模式
|  Google Chrome 45.0.2454.101|  Windows 7 
 
| var name = "Bob"; 
 var nameObj ={
 
 name : "Tom",
 
 showName : function(){
 
 console.log(this.name);
 
 },
 
 waitShowName : function(){
 
 setTimeout(this.showName, 1000);
 
 }
 
 };
 
 nameObj.waitShowName();//Bob
 
 nameObj.showName();//Tom
 
 setTimeout函数的默认定义域是全局的,this代指调用他的那个对象,showName()函数是个调用对象为nameObj,故输出了Tom。若要让waitShowName输出Tom,你只需这样做:
 
 var name = "Bob";
 
 var nameObj ={
 
 name : "Tom",
 
 showName : function(){
 
 console.log(this.name);
 
 },
 
 waitShowName : function(){
 
 var that = this; //将this值保存。有些地方也将that写为self。
 
 setTimeout(function(){
 
 console.log(that.name);
 
 }, 1000);
 
 }
 
 };
 
 nameObj.waitShowName();
 
 <!doctype html>
 
 <html>
 
 <head>
 
 <meta charset="utf-8">
 
 <meta name="description" content="">
 
 <meta name="viewport" content="width=device-width, initial-scale=1">
 
 <title>左侧固定,右侧自适应</title>
 
 </head>
 
 <body>
 
 <h1>左侧固定,右侧自适应布局</h1>
 
 <div class="left-fixed_right-auto">
 
 <div class="left"http://www.9ask.cn/sjz/>
 
 左侧定宽左侧定宽左侧定宽左侧定宽左侧定宽左侧定宽
 
 </div>
 
 <div class="right">
 
 <div class="right-content">
 
 右侧自适应,这是会自动换行的换行的换行的发动发动发扥扥这是会自动换行的换行的换行的发动发动发扥扥这是会自动换行的换行的换行的发动发动发扥扥这是会自动换行的换行的换行的发动发动发扥扥
 
 </div>
 
 </div>
 
 </div>
 
 </body>
 
 </html>
 | 
 评分
查看全部评分
 |