`
jie66989
  • 浏览: 254519 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

js容易出错的地方

 
阅读更多
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<script type="text/javascript">

   var arr = [1,2,3];
   var out = [];
   var out2 = [];
   var as = [];
   //alert(1=="1");//false
   //alert(1==="1");//true
   //alert({}=={});//false
   //alert({}==={});//false
   alert([]==="");
   for(var i = 0; i<arr.length;i++) {
	  var item = arr[i];
	  as.push(item);
	  out.push(function(){ alert("out:"+item); });
   // 并不把for当成一个context,这个时候out添加的function中的item都会是一个值,
   // 因为item存在于for循环整个作用域,而不是每一次循环
   // 更改为如下,可以得到你想要得到的结果
      (function(){
			out2[i]=function(){ alert("out2:"+arr[i]); };
		  //out2.push(function(){ alert("out2:"+arr[i]); });
	  })();
   }
   for(var j=0; j<out.length; j++) {
	//out[j]();//alert(3);alert(3);alert(3);
	out2[j]();//alert(1);alert(2);alert(3);
	//alert(as[j]);//alert(1);alert(2);alert(3);
   }
   //out.forEach(function(func){ func(); });// 不支持
	//alert(a);//报错,未定义
	a = 0;
	(function foo() {
	   //alert("a1:"+a);//undefined
	   a = 3;
	   //alert("a2:"+a);//3
	   var a;
	   //alert("a3:"+a);//3
	})();
	//alert(a);//0

</script>
</html>
分享到:
评论

相关推荐

    [JavaScript][PDF][英文版]Oh My JS

    ***mon JavaScript "Gotchas"(常见的JavaScript陷阱):这些陷阱通常是指那些容易出错的地方,比如变量作用域、异步编程的复杂性等,理解这些可以避免在开发中犯一些常见的错误。 7. Asynchronous JS: Callbacks, ...

    js_html.zip_js分行

    1. **语法分析**:通过解析JS代码的语法结构,如语句、表达式、函数等,找到合适的插入换行的地方。 2. **缩进处理**:根据代码的嵌套关系,自动添加适当的缩进,使代码层次分明。 3. **注释保留**:在分行过程中,...

    CoffeeScript - Accelerated JavaScript Development

    - CoffeeScript由Jeremy Ashkenas创建,它的设计目标是简化JavaScript,消除一些容易出错的语法结构。 - 它的语法受到Ruby和Python等语言的影响,比如使用缩进来表示代码块,避免了JavaScript中的花括号。 2. **...

    Node出错导致运行崩溃的解决方案.docx

    Node.js 作为一款基于事件驱动的 JavaScript 运行环境,自从其诞生以来,广受开发者的欢迎和批评。其中,Node.js 的错误处理机制一直是一个备受关注的议题。许多开发者认为,Node.js 的错误处理机制过于脆弱,容易...

    文件上传的js.rar

    1.支持多文件上传、单文件上传、图片上传(支持word、pdf、excel、.jpg...容易出错的地方文件夹里面也有整理 3. 我有写相关文章 https://blog.csdn.net/LMGD_ 文件上传的文章里面可以看到实现的效果图片;respect!!!!

    微信支付方法

    详细讲解微信支付签名方法,容易出错的地方,js调用支付的方法

    jquery-manifest.js

    然而,手动维护AppCache清单文件可能会变得繁琐且容易出错。jQuery Manifest插件正是为了解决这个问题,它自动化地处理AppCache的更新和同步,使得开发者能更专注于应用逻辑。 **工作原理** 1. **动态生成清单文件...

    JS DOM snippet插件1

    此外,这些快捷键也鼓励开发者遵循最佳实践,因为他们可以更方便地使用推荐的DOM操作方法,而不是依赖于可能效率较低或者容易出错的手动操作。 在使用这些DOM snippet插件时,开发者还可以结合其他JavaScript库和...

    编写可维护的JavaScript

    - **覆盖关键路径**:重点关注那些业务逻辑复杂或者容易出错的地方。 **2. 集成测试** - **模拟依赖**:在集成测试中使用mocks或stubs来模拟外部依赖,以确保测试的纯净性。 - **端到端测试**:进行端到端测试来...

    javascript跨浏览器的属性判断方法

    今天在写代码的时候发现一个很容易出错的地方。当我们在声明变量时,常常会因为不同的 browser 有不同的 API 定义,然后用以下的写法来判断哪一个属性,例如: 代码如下:var fullscreenElement = document....

    【中文】【js表单验证】【chm】【118.2k】

    4. **安全性考虑**:即使前端做了验证,后端也必须做验证,因为前端验证很容易被绕过。 ### 知识点五:示例代码 这里提供一个简单的示例代码,演示如何使用JavaScript进行表单验证: ```javascript function ...

    怎么清空javascript数组

    其中,清空数组是一个常见的需求,但也是容易出错的地方。数组在JavaScript中是引用类型的数据,所以对数组的引用操作需要特别注意。 首先,让我们理解什么是引用类型和直接量。在JavaScript中,基本数据类型(如...

    Conductor在同一个地方跨组件组织各种动画

    这不仅简化了动画实现的过程,还降低了出错的可能性,提升了用户体验。 【标签】:"JavaScript开发-动画效果" JavaScript开发中的动画效果是提升用户界面动态感的关键,而Conductor就是专为此设计的工具。在...

    jsp中利用jquery+ajax在前后台之间传递json格式参数

    总结:容易出错的地方:1.ajax中data的格式一定要写对,这里举了两种形式,一种是 data:{参数:“”} 另一种是 data:“参数=”+变量。 2.后台传递到前台数据转化为json格式,步骤要掌握好。 3.在js使用jquery必须...

    js_double-trouble

    这使得异步编程复杂且容易出错,比如回调地狱(回调函数嵌套过深)和不可预测的代码执行顺序。理解事件队列和Promise链可以帮助编写更清晰的异步代码。 4. this指向:JavaScript的`this`取决于调用上下文,而不是...

    rental:节点js

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它利用非阻塞I/O和事件驱动模型,使得构建高性能网络应用变得容易。通过将JavaScript应用于服务器端,开发者可以充分利用JavaScript的生态系统,实现前后端同...

    使用闭包对setTimeout进行简单封装避免出错

    它依赖于字符串拼接,容易出错,而且不易于调试。这就是闭包发挥作用的地方。我们可以将`setTimeout`的逻辑封装到一个新的函数中,这样可以消除字符串拼接,同时利用闭包来传递参数。 下面是如何使用闭包进行封装的...

    JavaScript判断浏览器类型的方法

    此外,浏览器检测通常被看作是一种不推荐的最佳实践,因为维护成本高,且容易出错。大多数情况下,更推荐使用渐进式增强或者CSS媒体查询来实现浏览器兼容性,这样可以确保在不同浏览器上都能提供一致的用户体验。但...

    探讨JavaScript中声明全局变量三种方式的异同

    需要注意的是,在某些情况下,如果在函数内部使用var声明了变量,但在赋值前引用了该变量,JavaScript会将其作为全局变量来处理,这通常是初学者容易出错的地方。 第二种方式是不使用var关键字直接对变量进行赋值。...

Global site tag (gtag.js) - Google Analytics