javascript几个易错点记录

1.清空input标签值得时候,不能用html("")清空,要用val("")清空

2.事件如果绑定多次,触发事件后,回调函数也会执行多次,所有最好把绑定事件的函数单独写,或者必须重复绑定的时候,每次都解绑

3.jquery选择器如果返回的是一个jquery的对象数组,要用each做操作,不然如果直接在数组上操作的话,可能只对数组第一个对象操作,不会发生遍历

4.大小写敏感,比如if 写成了If。toString()写成了tostring(),toUpperCase写成了toUppercase

5.document.getElementById(""),括号中的参数记得加引号

6.setTimeout("函数",延迟的时间);函数加引号

7.数组的遍历最好通过for循环,不要通过for in,因为for。。。in的效率比for差很多。同时在调用数组length属性的时候会有一定性能开销,因此最好的做法是先把数组的length属性赋值给变量来提升性能。

8.关于函数,这个在javascript中是最重要的对象,我们可以把它当作参数来传递。这里最简单的就是setTimeout,这个函数调用的参数,其实就是一个函数。

9.程序的执行顺序:
程序执行,从上到下,如果碰到alert的话,浏览器就停止到那儿,不再继续执行,直到你点击了ok.如果script语句在head内部,alert为全局的话,会首先显示出来,然后再加载body内的内容。而如果alert在函数内部的话,只有当你调用函数时,alert才会有效果。

(0)

相关推荐

  • Javascript 错误处理的几种方法

    1.使用window.onerror指定错误处理函数. 当有错误的时候,onerror会被callback. 当某个JavaScript block中有多个script错误时,第一个错误触发后(回调callback),当前Javascript block后面的script会被自动Drop忽略掉,不被执行. 如:  复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>

  • IE6下出现JavaScript未结束的字符串常量错误的解决方法

    里面提到"DOM是UTF-8的篇码,如果JS库不是分离的独立JS文件,而是包含在DOM里的,这个问题是不会出现的.然而分离的JS文件并不是UTF-8编码,被加库到UTF-8编码的DOM里,中文就出现了乱码,并影响到引号符,使浏览器无法判断字符串结束.解决变法很简单,JS文件另存为UTF-8编码格式即可. " 所以我修改了JavaScript的引用, <script type="text/javascript" src="**.js" cha

  • Eclipse去除js(JavaScript)验证错误

    第一步:去除eclipse的JS验证:将windows->preference->Java Script->Validator->Errors/Warnings->Enable Javascript Sematic validation前面的勾去掉; 第二步:右键项目 -> properties -> Builders 去掉JavaScript Validator 前面的勾如果Builders中没有JavaScript Validator这一项.那么去.proje

  • javascript Error 对象 错误处理

    Error对象 Property:   name: 错误名   number: 错误号   description: 描述   message: 错误信息,多同description  FF Only 属性   fileName: 错误发生的文件   stack: 错误发生时的调用堆栈 Constructor:   Error(){     this(0,"")} Error(description){     this(0,description)} Error(number,des

  • javascript 容错处理代码(屏蔽js错误)

    国外银行页面就是因为这样的错误,导致用户大量流失不敢用这个银行的网上银行等导致损失惨重. 所以一个想要在用户体验与公司实力上都是不容出现的错误,就是不影响使用也不能让用户反感,我们一直致力于为大家提高更好的代码,所以这里我们将会大家整理一些常用的代码,使用方法什么,希望大家以后能越来越支持我们,让我们共同发展. 第一种:我们自己也在用的 复制代码 代码如下: <SCRIPT language=javascript> <!-- window.onerror=function(){retur

  • Dreamweaver 在onLoad运行***,发生了一个JavaScript错误

    错误提示类似: '在onChange运行Flash Button.htm时,发生了一个javascript错误'  在onLoad运行Design Notes_onOpen.htm时,发生了一个JavaScript错误. "在applyServerbahvior运行 InsertRecord.htm时发生了一个Javascript错误" 删除C:\Documents and Settings\Administrator\Application Data\Macromedia\Dreamweave

  • javascript 尚未实现错误解决办法

    在firebug中也没有看到任何错误提示.打开IE就遇到该死的"尚未实现错误",根据IE中提示的位置找过去也没有发现任何错误,看来IE的报错定位也不太准确.万般无奈之下,google搜索,终于找到了错误所在的地方.原来错误在于window.onload= myFunc(var1,var2);IE的window.onload函数中不支持参数调用,虽然函数会照样执行,但是却会出现报错,影响后续脚本的继续执行,下面是两种简单而有用的解决办法: 再写一个函数,譬如function loadFu

  • Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法

    复制代码 代码如下: <script> document.getElementById("trone").innerHTML = "<td>haha</td>"; </script> <tr id="trone"> </tr> 在IE中,有时候会出现"未知的运行时错误(unknown runtime error)",而在firefox里不会. 这主要是IE

  • javascript几个易错点记录

    1.清空input标签值得时候,不能用html("")清空,要用val("")清空 2.事件如果绑定多次,触发事件后,回调函数也会执行多次,所有最好把绑定事件的函数单独写,或者必须重复绑定的时候,每次都解绑 3.jquery选择器如果返回的是一个jquery的对象数组,要用each做操作,不然如果直接在数组上操作的话,可能只对数组第一个对象操作,不会发生遍历 4.大小写敏感,比如if 写成了If.toString()写成了tostring(),toUpperCase

  • 总结js中的一些兼容性易错的问题

    一.属性相关 我们通常把特征(attribute)和属性(property)统称为属性,但是他们确实是不同的概念, 特征(attribute)会表现在HTML文本中,对特征的修改一定会表现在元素的outerHTML中,并且特征只存在于元素节点中: 属性(property)是对于JS对象进行修改,除了浏览器内置的部分特征外,其它的属性操作并不会影响HTML文本. 1. IE6/7不区分属性和特征 其它浏览器会区分属性和特征,而IE67并不会区分它们,在IE67下我们只能用属性名来删除特征,虽然这两

  • JavaScript易错知识点整理

    前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES6的知识点. JavaScript知识点 1.变量作用域 var a = 1; function test() { var a = 2; console.log(a); // 2 } test(); 上方的函数作用域中声明并赋值了a,且在console之上,所以遵循就近原则输出a等于2. va

  • javascript 易错知识点实例小结

    本文实例总结了javascript 易错知识点.分享给大家供大家参考,具体如下: 为什么 typeof null === 'object' 原理是这样的,不同的对象在底层都表示为二进制,在JavaScript中二进制前三位都为0的话会被判断为 object 类型, null 的二进制表示是全0,自然前三位也是0,所以执行 typeof 时会返回" object ". 对象属性的存在性 如 myObject.a 的属性访问返回值可能是 undefined ,但是这个值有可能是属性中存储的

  • MySQL null的一些易错点

    依据null-values,MySQL的值为null的意思只是代表没有数据,null值和某种类型的零值是两码事,比如int类型的零值为0,字符串的零值为"",但是它们依然是有数据的,不是null. 我们在保存数据的时候,习惯性的把暂时没有的数据记为null,表示当前我们无法提供有效的信息. 不过使用null但是时候,需要我们注意一些问题.对此MySQL文档说明如下: problems-with-null 使用null的易错点 下面我摘取MySQL官方给出的null的易错点做讲解. 对M

  • JavaScript深拷贝的一些踩坑记录

    前言 之前去一家公司面试的时候,面试官问了我一个问题,说:"如何才能深拷贝一个对象".当时我心里有些窃喜,这么简单的问题还用想吗?于是脱口而出:"平时常用的有两种办法,第一种用JSON.parse(JSON.stringify(obj)),第二种可以使用for...in加递归完成".面试官听了以后点了点头觉得挺满意的. 当时我也并没有太过在乎这个问题,直到前段时间又想起这个问题,发现上面说的两种方法都是有Bug的. 提出问题 那么上面所说的Bug是什么呢? 特殊对象

  • Go并发同步Mutex典型易错使用场景

    目录 Mutex的4种易错使用场景 1.Lock/Unlock 不成对出现 2.Copy 已使用的 Mutex 3.重入 4.死锁 解决策略 Mutex的4种易错使用场景 1.Lock/Unlock 不成对出现 Lock/Unlock 没有成对出现,就可能会出现死锁或者是因为Unlock一个未加锁的Mutex而导致 panic. 忘记Unlock的情形 代码中有太多的 if-else 分支,可能在某个分支中漏写了 Unlock: 在重构的时候把 Unlock 给删除了: Unlock 误写成了

  • javascript验证邮件地址和MX记录的方法

    本文实例讲述了javascript验证邮件地址和MX记录的方法.分享给大家供大家参考.具体如下: // Tests for a valid email address and optionally tests for valid MX records, too. function is_valid_email($email, $test_mx = false) { if(eregi("^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+

  • C/C++常用函数易错点分析

    本文简单分析了C/C++中常用函数的易错点,包括memset.sizeof.getchar等函数.分享给大家供大家参考之用.具体分析如下: 1.memset #include <string.h> void* memset( void* buffer, int ch, size_t count ); 将内存中buffer的前count个字节的内容全部设置为ch指定的ASCII值.经常用来初始化数组.复制时以字节为单位,如果buffer是int long,或者其他类型的指针时,需要注意不一定为数

  • 怎样使你的 JavaScript 代码简单易读(推荐)

    让我们先从怎样删除数组中的重复项这个简单问题开始. 复杂 - 使用 forEach 删除重复项 首先,我们新创建一个空数组,用forEach()在数组的每个元素上执行一次提供的函数.最后检查新数组中是否存在该值,如果不存在,则添加它. function removeDuplicates(arr) { const uniqueVals = []; arr.forEach((value,index) => { if(uniqueVals.indexOf(value) === -1) { unique

随机推荐