GuangchaoSun's Blog

JavaScript-w3school

JavaScript输出

<head><body>中引用脚本都是可以的。

操作HTML元素

如需从JavaScript访问某个HTML元素,可以使用document.getElementById(id)方法。
请使用id属性来标识HTML元素。
请使用document.write()仅仅向文档输出写内容

如果在文档已加载后执行document.write,整个HTML页面将被覆盖。如果document.write这个函数放在function中被执行,那么很可能最后就只剩下函数中输入的内容。

JavaScript语句

JavaScript会忽略多余的空格。
JavaScript是脚本语言,浏览器会在读代码时,逐行地执行脚本代码。

JavaScript注释

单行注释以//开头
多行注释用/**/

JavaScript变量

变量时存储信息的容器
变量的命名规则:

  • 变量必须以字母开头
  • 变量也能以$ 和 _ 符号开头(不过我们不推荐这么做)
  • 变量名称同样对大小写敏感

声明变量:

1
var carname = "Volvo";

一个好的编程习惯,在代码开始处,同一对需要的变量进行声明。
未使用值来声明的变量,其值实际上是undefined

JavaScript数据类型

JavaScript拥有动态类型。

JavaScript数组

1
2
3
4
var cars = new Array();
cars[0] = "Audi";
cars[1] = "BMW";
cars[2] = "Volvo";

JavaScript对象

对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义

1
2
3
var person={firstname:"Bill", lastname:"Gates", id:5566};
name = preson.lastname;
name = person["lastname"];

for…in循环遍历对象的属性

1
2
3
4
var person={fname:"Bill",lname:"Gates",age:56};
for (x in person){
txt=txt+person[x];
}

undefine:
只能用===运算来测试某个值是否是未定义的,因为==运算认为undefined值等价于null。
null表示无值,而undefined表示一个未声明的变量,或已声明的但没有赋值的变量,或一个并不存在的对象属性。

声明变量类型

1
2
3
4
5
var carname = new String;
var x = new Number;
var y = new Boolean;
var cars = new Array;
var person = new Object;

JavaScript变量均为对象,当你声明了一个变量时,就创建了一个新的对象。

JavaScript变量的生存期

  • JavaScript变量的生命期从他们被声明的时间开始
  • 局部变量会在函数运行以后被删除
  • 全局变量会在页面关闭之后被删除

向未声明的JavaScript变量来分配值:如果把值赋给尚未声明的变量,该变量将自动作为全部变量来声明,即使是在函数内部。

JavaScript 错误 - Throw、Try 和 Catch

try语句允许我们定义在执行时进行错误测试的代码块
catch语句允许我们定义try代码块发生错误时,所执行的代码块
throw语句允许我们创建自定义错误-创建或抛出异常

JS HTML DOM-改变HTML

通过HTML DOM,可访问JavaScript HTML文档的所有元素
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)
HTML DOM模型被构造为对象的树

HTML DOM允许JavaScript改变HTML元素的内容
注意:不要再文档加载后使用document.write()。这样会覆盖文档。

改变HTML元素的内容:

1
document.getElementById(id).innerHTML = new HTML;

改变HTML属性

1
document.getElementById(id).attribute=new value;

改变HTML样式

1
document.getElementById(id).style.property = new style;

分配事件:

1
2
3
<script>
document.getElementById("myBtn").onclick=function(){displayDate()};
</script>

在上面的例子中,名为displayDate的函数被分配给id=myBtn的HTML的元素

onload和onunload事件会在用户进入或离开页面时被触发
onchange事件
onmouseover和onmouseout事件可用于在用户的鼠标移至HTML元素上方或移出元素时触发函数
onmousedown,onmouseup以及onclick构成了鼠标点击的所有部分。当首先点击鼠标按钮时,会触发onmousedown事件,当释放鼠标按钮时,会触发onmouseup事件,最后,当完成鼠标点击时,会触发onclick事件。

JavaScript对象

对象只是带有属性和方法的特殊类型数据
创建对象有两种不同的方法:

  • 定义并创建对象的实例
  • 使用函数来定义对象,然后创建新的对象实例

实例:

1
2
3
4
person.firstname='Bill';
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";

1
person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};

使用对象构造器

1
2
3
4
5
6
7
8
function person(firstname, lastname, age, eyecolor){
this.firstname = firstname;
this.lastname = lastname;
this.age = age;
this.eyecolor = eyecolor;
}
var myFather = new person("Bill","Gates",56,"blue");
var myMother=new person("Steve","Jobs",48,"green");

JavaScript RegExp对象

var patt1 = new RegExp(“e”);
RegExp对象有3个方法:test()、exec()以及compile()。

  • test()方法检索字符串中的指定值。返回值是true或false。
  • exec()方法检索字符串中指定的值。返回值是被找到的值。如果没有发现匹配,则返回null。
  • compile()