恶补web之六:javascript知识(1)

时间:2023-03-09 03:03:13
恶补web之六:javascript知识(1)

javascript(下称js)是一种轻量级编程语言,它可以插入html页面然后由浏览器执行.

document.write("<h1>...</h1>"),只可以在html输出中使用document.write,如果在文档加载后使用该方法,会覆盖整个文档.

类似于document.xxx的方法是在html DOM中定义的.DOM(文档对象模型)是用以访问html元素的正式w3c标准.

js和java是完全2种不同的语言,ECMA-262是js标准的官方名称

html中的脚本必须位于<script>和</script>之间,脚本可被放置在html页面的<body>和<head>部分中.

也可以将js代码放到外部文件中,文件扩展名为.js:<script src="xxx.js"></script>

如果从js访问某个html元素,可以使用document.getElementById(id)方法.

通常在每条执行语句结尾添加分号(可选),so可以在一行编写多条语句.

js代码是js语句的序列,浏览器会按照编写顺序来执行每条语句.

js函数是将语句组合在块中的典型例子:

function foo()

{

document.getElementById("demo").innerHTML="hello";

}

js对大小写敏感.js会忽略多余的空格.

js单行注释以//开头;多行注释以/*开始,*/结尾

js变量可存放值和表达式;变量名必须以字母或$和_开头,变量大小写敏感.

js中创建变量通常称为声明变量,用var关键字声明变量:var i;var j=10;

js拥有动态类型,意味着相同变量可做用于不同类型.

创建js数组:

var ary=new Array();

ary[0]="111"

或者:

var ary = ["aaa","bbb"];

js对象由花括号分割:var obj={name:"zhang",id:100};有两种寻址方式:

obj.name 或者 obj["name"]

可以通过将变量设置为null来清空变量:var v=null

当声明新变量时,可以使用关键字new:

var name=new String;

var x=new Number;

var ary=new Array;

var obj = new Object;

js中所有事物都是对象:字符串,数字,数组,日期等.js中对象是拥有属性和方法的数据.

调用函数时,可以向其传递值:foo(arg1,arg2); foo的声明如下:

function foo(v1,v2){}

可以使用return语句返回指定的值:return 100;

var x=foo(100);

js函数内部用var声明的是局部变量.作用域在函数内部.函数外部声明的变量是全局变量,作用域是整个网页.

js变量生命期从声明开始,局部变量在函数返回后被删除,全局变量在页面关闭后被删除.

如果吧值赋给未声明的变量,该变量将被作为全局变量声明,即使它在函数内部执行: undefined_var=100;

js中数字与字符串相加结果为字符串

===全等于运算符(值和类型都相同)

js中的if结构和C基本相同,switch结构也和C类似

js的for结构:for(var i=0;i<100;i++) {...}

for的另一种格式for(x in ary) {...},注意x是在ary中的每个index.

while(){}和do{}while()和C类似

continue语句只能在循环中使用

break不带标签引用只能用在循环或switch中;通过标签引用,break可以跳出任何js代码块:

list:

{

....

break list;

....

}

当出错时,js引擎会停止,然后生成一个错误信息,称之为js抛出一个错误.try语句允许我们定义在执行时进行错误测试的代码块.catch捕获当try发生的错误:

try{

}

catch(err)

{

}

throw允许我们创建自定义错误,或称之为抛出异常.

js可用来在数据被发送往服务器前对html表单输入进行验证.

当网页被加载时,浏览器会创建页面的文档对象模型DOM,DOM被构造为对象的树.

查找html元素:

1.通过id查找:var x= document.getElementById("id")

2.通过标签名查找:

var x=document.getElementById("main")

var y=x.getElementsByTagName("p")

3.通过类名查找

修改html内容最简单的方法是使用innerHTML属性:document.getElementById(id).innerHTML=xxx

使用document.getElementById(id).attribute=xxx修改html元素的属性.

<!DOCTYPE html>
<html>
<body>

<img id="image" src="smiley.gif">

<script>
document.getElementById("image").src="landscape.jpg";
</script>

</body>
</html>

js可以通过DOM改变html元素的样式:

document.getElementById(id).style.property=xxx

html DOM是js有能力对html事件做出反应

使用js向html元素分配事件:

document.getElementById("id").onclick=function() {...}

onload和onunload会在用户进入或离开页面时被触发.

onchange当字段内容发生改变时调用.

onmouseover和onmouseout在用户鼠标移入或移出元素时触发

当点击鼠标按钮时触发onmousedown,当释放按钮时触发onmouseup事件,最后完成鼠标点击时触发onclick事件.