js中this和回调方法循环-我们到底能走多远系列(35)
我们到底能走多远系列(35)
扯淡:
13年最后一个月了,你们在13年初的计划实现了吗?还来得及吗?
请加油~
主题:
最近一直在写js,遇到了几个问题,可能初入门的时候都会遇到吧,总结下。
var x =9;
var fobj ={
x:1,
test:function(callback){
var x= 2;
callback();
}
}
function pp(){
var x = 3;
fobj.test(function(){
alert(this.x)//
})
}
pp();
var x =9;
var fobj ={
x:1,
test:function(callback){
var x= 2;
callback();
}
}
function pp(){
var x = 3;
fobj.test(function(){
alert(this.x)//
}.bind(fobj))
}
pp();
var x = "test";
var ojb = {
x : "obj"
}
function pp(){
var t = [1,2,3,4];
t.forEach(function(value,index){
alert(this.x + value);
},ojb);
}
pp();
for(var i=1;i<4;i++){
doCallBack(function(){
alert(i);//1,2,3
});
}
function doCallBack(callback){
var x = "callback";
callback();
}
for(var i=1;i<4;i++){
doCallBack(function(){
setTimeout(function(){alert(i);},1000)//4,4,4
});
}
function doCallBack(callback){
var x = "callback";
callback();
}
function A(){
var i =1;
function B(){
i =2;
...
}
}
function C(){...}
for(var i=1;i<4;i++){
(function(x){
doCallBack(function(){
// alert(x)
setTimeout(function(){alert(x);},1000);//1,2,3
});
})(i)
}
function doCallBack(callback){
callback();
}
for(var i=1;i<4;i++){
!function(x){
doCallBack(function(){
// alert(x)
setTimeout(function(){alert(x);},1000);//1,2,3
});
}(i)
}
function doCallBack(callback){
callback();
}
function doCallBack(x){
if(x<=1){
return 1;
}else{
setTimeout(function(){alert(x);},1000);//4,3,2
return doCallBack(x-1);
}
}
doCallBack(4)
var rstScoreMsg0 = {
score : scores[0],
username : uids[0],
expLoser : expLoser,
expWinner : expWinner,
uid : 0
};
var rstScoreMsg1 = {
score : scores[1],
username : uids[1],
expLoser : expLoser,
expWinner : expWinner,
uid : 0
};
var rstScoreMsg2 = {
score : scores[2],
username : uids[2],
expLoser : expLoser,
expWinner : expWinner,
uid : 0
};
recordUser(rstScoreMsg0);
recordUser(rstScoreMsg1);
recordUser(rstScoreMsg2);
让我们继续前行
----------------------------------------------------------------------
努力不一定成功,但不努力肯定不会成功。
js中this和回调方法循环-我们到底能走多远系列(35)的更多相关文章
- 利用spring AOP 和注解实现方法中查cache-我们到底能走多远系列(46)
主题:这份代码是开发中常见的代码,查询数据库某个主表的数据,为了提高性能,做一次缓存,每次调用时先拿缓存数据,有则直接返回,没有才向数据库查数据,降低数据库压力. public Merchant lo ...
- 【温故知新】——原生js中常用的四种循环方式
一.引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0 网页输出“欢迎下次光临” 在网页中弹出框输入1 网页输出“查询中……” 在 ...
- node.js中的url.parse方法使用说明
node.js中的url.parse方法使用说明:https://blog.csdn.net/swimming_in_it_/article/details/77439975 版权声明:本文为博主原创 ...
- javascript基础入门之js中的结构分支与循环语句
javascript基础入门之js中的结构分支与循环语句 程序的结构①顺序结构:自上而下:②选择(分支)结构:多条路径,根据不同的条件,只执行其中一个:③循环结构:重复某些代码④配合特定的语句实现选择 ...
- JS中的对象和方法简单剖析
众所周知,在js中对象就是精髓,不理解对象就是不理解js. 那么什么事js中的对象呢? 在js中,几乎一切皆对象: Boolean ,String,Number可以是对象(或者说原生数据被认作对象): ...
- 为什么JS是单线程?JS中的Event Loop(事件循环)?JS如何实现异步?setimeout?
https://segmentfault.com/a/1190000012806637 https://www.jianshu.com/p/93d756db8c81 首先,请牢记2点: (1) JS是 ...
- js中数组去重的方法
在实际工作或面试中,我们经常会遇到"数组去重"问题,接下来就是使用js实现的数组去重的多种方法: 1.借助ES6提供的Set结构 var arr = [1,1,2,2,3,3,4, ...
- JS中 call() 与apply 方法
1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call ...
- JS中定义类的方法
JS中定义类的方式有很多种: 1.工厂方式 function Car(){ var ocar = new Object; ocar.color = "blue" ...
随机推荐
- C#入门篇6-5:字符串操作 测试StringBuilder的运行效率
//测试StringBuilder的运行效率 public static void Fun2() { #region string string str = "我喜欢编程!"; / ...
- 腾讯大规模Hadoop集群实践 [转程序员杂志]
TDW(Tencent distributed Data Warehouse,腾讯分布式数据仓库)基于开源软件Hadoop和Hive进行构建,打破了传统数据仓库不能线性扩展.可控性差的局限,并且根据腾 ...
- 使用NuGet时的一个乌龙
问题描述 最近自己做的一个项目,计划开始使用NuGet来管理dll,但是遇到一个奇怪,但是结果证明是个乌龙的问题. 新建一个WebApi项目,使用NuGet管理第三方dll,其中有引用Newtonso ...
- office 使用技巧
Excel: 非打印区域显示成灰色:视图--分页预览 选定行的时侯,如何从某一行选定到末尾? 先点某一行,然后按住shift不松,再按END,再按下方向箭. 选定列也是这样,先按住某列,然后按SHIF ...
- 复利计算4.0单元测试(c语言)
——————————复利计算程序单元测试报告—————————— ————————————4.0 单元测试—————————————— ————————————————要求—————————————— ...
- C#重启系统代码
C#重启窗体代码 System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location ...
- c++ 普通高精除高精
//codevs3118 高精度练习之除法 //打出了高精除高精,内心有点小激动. //还记得已开始学的时候非常难打 #include<cstdio>#include<cstring ...
- Python中subprocess学习
subprocess的目的就是启动一个新的进程并且与之通信. subprocess模块中只定义了一个类: Popen.可以使用Popen来创建进程,并与进程进行复杂的交互.它的构造函数如下: subp ...
- printf的格式输出
格式字符 意义 d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀0) x,X 以十六进制形式输出无符号整数(不输出前缀Ox) u 以十进制形式输出无符号整数 ...
- 用C#感受MongoDB MapReduce之魅力 转
MapReduce这个名词随着hadoop的用户的增多,越来越被人关注.MapReduce可谓MongoDB之中的亮点,我也想深入了解MapReduce,加上MongoDB操作简单,所以就选择了它.M ...