javascript学习笔记 常见错误和调试

常见错误一:未定义的变量

abc=23;

var abc=23;

若没有var也可运行,隐式地创建了一个新的全局变量abc,严格定义变量应该使用var关键字。

常见错误二:区分大小写

var myName="Jim";
If (myName=="jim")
    alert(myName.toUppercase());

以上代码中有三处错误:Jim和jim的首字母J不一样,关键字if写成了If,toUpperCase()方法中的字母C应该是大写的。

常见错误三:不匹配的大括号

function myfunction()
{
x=1;
y=2;
if(x<=y)
{
if(x==y)
{
alert("x equals y");
}
}
myfunction();

以上代码缺少函数的结束的大括号,如果养成好习惯写好代码格式就很容易发现这种错误。

常见错误四:不匹配的圆括号

if ( myvar + 12 ) / myothervar < mystring.length )

以上代码if后面缺少一个圆括号

常见错误五:赋值不是相等

var mynumber=99;
if(mynumber=101)
{
     alert("mynumber is 101");
}
else
{
    alert("mynumber is"+mynumber);
}

if后圆括号里的=应该是==

常见错误六:把属性和方法混淆

var nowDate = new Date();
alert (nowDate.getMonth);
//正确代码在下面
var nowDate = new Date();
alert (nowDate.getMonth());

getMonth方法名后要带括号

var mystring="hello world";
alert(mystring.length());
//正确代码在下面
var mystring="hello world";
alert(mystring.length);

length属性后面不能加括号

常见错误七:连接字符串时忘了用+号

var myname="Jim";
var mystring="hello";
var myotherstring="world";
mystring=myname+" said "+mystring+" " myotherstring;
alert(mystring);

" "和myotherstring之间少了一个+号

时间: 2024-10-04 21:08:08

javascript学习笔记 常见错误和调试的相关文章

python学习笔记(八) - 错误、调试、测试

一.错误处理 1. 使用try .. exception .. finally try: print 'try...' r = 10 / 0 print 'result:', r # 出现异常不会打印这句话 except ZeroDivisionError, e: # 如果有异常就会被捕获到 print 'except:', e else: print 'no error!' # 如果没有异常就执行else finally: print 'finally...' # finally是肯定会执行的

javascript学习笔记---ECMAScript语法(引用类型)

引用类型通常叫做类(class). 本教程会讨论大量的 ECMAScript 预定义引用类型. 引用类型 引用类型通常叫做类(class),也就是说,遇到引用值,所处理的就是对象. 本教程会讨论大量的 ECMAScript 预定义引用类型. 从现在起,将重点讨论与已经讨论过的原始类型紧密相关的引用类型. 注意:从传统意义上来说,ECMAScript 并不真正具有类.事实上,除了说明不存在类,在 ECMA-262 中根本没有出现"类"这个词.ECMAScript 定义了"对象定

JavaScript学习笔记【2】表达式和运算符、语句、对象

笔记来自<JavaScript权威指南(第六版)> 包含的内容: 表达式和运算符 语句 对象 表达式和运算符 数组直接量中的列表逗号之间的元素可以省略,这时省略的空位会填充值undefined.元素列表末尾可以留下单个逗号,这时并不会创建一个新的值为undefined元素. 属性访问表达式,.identifier的写法只适用于要访问的属性名称是合法的标识符,并且需要知道要访问的属性的名字.如果属性名称是一个保留字或者包含空格和标识符,或是一个数字(对于数组来说),则必须使用方括号的写法.当属性

JavaScript学习笔记【3】数组、函数、服务器端JavaScript概述

笔记来自<JavaScript权威指南(第六版)> 包含的内容: 数组 函数 服务器端JavaScript概述 数组 数组是动态的:根据需要它们会增长或缩减,并且在创建数组时无须声明一个固定的大小或在数组大小变化时无须重新分配空间. 数组可能是稀疏的:索引不一定要连续的,它们之间可以有空缺. 通常,数组的实现是经过优化的,用数字索引来访问数组元素一般来说比访问常规的对象属性要快很多. 数组继承自Array.prototype中的属性,它定义了一套丰富的数组操作方法. 如果省略数组直接量中的某个

javascript学习笔记---ECMAScript运算符(逻辑运算符)

Boolean 运算符非常重要,它使得程序语言得以正常运行. Boolean 运算符有三种:NOT.AND 和 OR. ToBoolean 操作 在学习各种逻辑运算符之前,让我们先了解一下 ECMAScript-262 v5 规范中描述的 ToBoolean 操作. 抽象操作 ToBoolean 将其参数按照下表中的规则转换为逻辑值: 参数类型 结果 Undefined false Null false Boolean 结果等于输入的参数(不转换) Number 如果参数为 +0, -0 或 N

Javascript学习笔记-一些关键点

Javascript学习笔记-一些关键点 Table of Contents 1. 调试 2. == vs === 3. 两种函数声明 4. 技术感悟 1 调试 现在的主流浏览器都提供了开发者模式,可以通过控制台(console)调试javascript 2 == vs === ==先转换类型再比较,===先判断类型,如果不是同一类型直接为false. ===表示恒等于,比较的两边要绝对的相同 alert(0 == ""); // true alert(0 == false); //

Java程序猿的JavaScript学习笔记(5——prototype和Object内置方法)

计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript学习笔记(3--this/call/apply) Java程序猿的JavaScript学习笔记(4--this/闭包/getter/setter) Java程序猿的JavaScript学习笔记(5--prototype) Java程序猿的JavaScript学习笔记(6--面向对象模拟) Java程

Java程序员的JavaScript学习笔记(14——扩展jQuery UI)

计划按如下顺序完成这篇笔记: Java程序员的JavaScript学习笔记(1--理念) Java程序员的JavaScript学习笔记(2--属性复制和继承) Java程序员的JavaScript学习笔记(3--this/call/apply) Java程序员的JavaScript学习笔记(4--this/闭包/getter/setter) Java程序员的JavaScript学习笔记(5--prototype) Java程序员的JavaScript学习笔记(6--面向对象模拟) Java程序员

JavaScript学习笔记第一天——字符串连接的N种方法

Javascript 字符串的连接方法有多种,但效率却有很大区别. 1.逐个字符串相加 var arr = ['item 1', 'item 2', 'item 3', ...]; var list = ''; for (var i = 0, l = arr.length; i < l; i++) { list += '<li>' + arr[i] + '</li>'; } list = '<ul>' + list + '</ul>'; 这种最常见的,