在本文中,作者分析了JavaScript中JavaScript中VAR关键字中一些问题的一些奇怪行为。
Q1:
var a ='Hello';风险价值;console.log(a);
以前的代码输出将是多少?是输出问候,还是不确定您仍然报告错误?
对于诸如Java或C#之类的语言,不可能重复相同的变量,但它与JavaScript兼容。在个变量的个语句之后,在个语句之后【网站建设包】面条的重新陈哪里有网站建设述将被忽略,但是变量的值将被变量的值覆盖。然后,这个问题的答案是:0x9A9A]。
你好
函数测试(){函数f(){var m = 9; console.log(m);}
F (); M = 50; console.log(m);} test();
以前的代码输出将是多少?我们在测试方法中声明方法f,并在方法F中声明变量M。但是,代码更改了方法F的内部变量F仪表。第二次打印是什么?
毫无疑问,此代码是次打印的。第二版是9。当您看到结果时,您是否有些惊讶,尤其是对于从事C语言和Java语言开发的程序员而言?在C级块级别,Java语言中没有概念
50因此,我们称这种现象为“在JavaScript中,在函数中定义的变量,无论它是哪个代码块(如果,函数和其他代码块),它将增加其功能的范围。
功能域
函数test(){var sm = 0,arr = [[1,2],[3,4],[5,6]; for(var i = 0; i
以前的代码输出将是多少?该代码的目的是添加ARR的两个维数阵列的值。执行此代码后,您会发现打印值为Q3:。
Q1和Q2的这种组合,我们知道变量I在测试两个循环时相等,因此对于个个循环的内部周期的结束非常清楚。我的价值是2,然后我++在外面。外部周期运行。目前,i的值变为3,并且尚未建立外部0x7D0的判断条件,并且环电路直接并退出,因此,只有1个总数为1中的1个,总计1出口循环,答案是3。
为了使程序的输出正确,它仅更改变量I0x7D0 J.
3
公司网页设计哪家好 for(var i = 0; i <3; i ++在){的setTimeout(函数(){的console.log(I)},100 * I);}
以前的代码输出将是多少?在访谈中经常提出此代码。结果是:Q4:而不是预期的3? 3? 3。
因为在Q2的情况下,变量i是相同的i,那么函数的固定在周期结束后开始时间安排,并且周期后的i值转到3,这使您通过您的先前结果通过您。
为了使程序正确输出,您可以使用立即执行函数(IIFE),如下所示:
for(var i = 0; i <3; i ++){(function(i){setTimeout(function(){console.log(i);},100 * i);})(i);}
0 1 2
本文由代码四个阶段分析的重复函数以及JavaScript语句面积的问题发出。实际上,这些问题反映了开发人员的基本技能和代码规范。在日常发展中,我们[哪一个适合响应网站]我们应该避免编写尽可能多的模糊代码。
要学习任何编程语言,您需要设置基本技能。 So称为的核心能力并不强大,山摇在地面上。除了坚实的基础外,还必须有良好的代码规格。只要做这两件事,我们就可以让风开始,牢牢地坐在透明地,站在一个的地方。
总结:
您的注意力,喜欢和评论将是我不断创造的推动力
如果愿意,请单击屏幕的右上角,然后将其分享给朋友的圈子
精美企业网站建设 平台网站开发
请立即点击咨询我们或拨打咨询热线: 13968746378,我们会详细为你一一解答你心中的疑难。项目经理在线