JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。
JavaScript是嵌入式脚本语言,浏览器执行,它是以字符串解析执行的,是一种基于对象的语言,不具有封装,继承,多态等特点。
我们学习的js分为两部分,一部分是基础的语法知识,牛腩讲的都挺简单的。另一部分是面向对象的知识,这部分知识有点难理解,而且在敲代码的时候还遇到了各种各样的问题,还有很多JS的注意事项。
以下是我对JS视频的总结:
与VB一样,JS也是属于基于对象的编程语言。 同样它的基本语法规则(变量,运算符,控制语句,函数function)也与VB类似。
JS语法特性:
基于对象:提供内置对象;
事件驱动:脚本语言特性
简单性:弱类型语言
动态性:可以实时与网页交互
跨平台:浏览器解释执行
DOM是文档对象模型,Document Object Model,Javascript把浏览器、网页文档和网页文档中的html元素都用相应的内置对象来表示,这些内置对象就是DOM对象。
DOM由一系列对象组成,是访问、检索、修改HTML文档内容与结构的标准方法。DOM是跨平台语言的。DOM用于HTML、XML文档的应用程序接口。当然DOM也有很多属性给我们提供便利。
JS的常见问题:
1、区分大小写:方法名和变量名区分大小写。例如数组对象Array,如果写成array则不识别为数组对象。
2、单引号、双引号:单引号里面可以有双引号,双引号里面也可以有单引号。
var array=new Array(); var temp='aj"abc"'; var temp2="a'acb'";
3、括号:JS中的括号有两种含义:分别是分隔符和执行这个方法的意思。例如(function(){})(),第一个括号是分隔符的意思,第二个括号是执行的意思。
4、函数调用和引用:
var a=example();
var b=example;
a表示的是函数的返回值;b表示的是将函数的引用赋给b.
5、分号、大括号可选,最好加上分号。
6、重载:js不支持重载,下面的函数覆盖上面的函数。
举例:
var array=new Array(); var temp='aj"abc"'; var temp2="a'acb'"; function init(){ alert(temp); alert(temp2); } function init(){ alert("这是第二个!"); } window.οnlοad=init;
结果:7、作用域、闭包
作用域是指对某一属性或方法具有访问权限的代码空间。
闭包与作用域相关,指内部函数即使在外部函数执行完成并终止后仍然可以访问其外部函数的属性。
例子:
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JS常见问题</title> <script type="text/javascript"> var array=new Array(); var temp='aj"abc"'; var temp2="a'acb'"; var temp3=""; function init(){ alert(temp); alert(temp2); alert(temp3); } function init(){ alert("这是第二个!"); } window.οnlοad=init; (function(){ //alert(temp3); })(); function newInit(){ for(var i=1;i<=3;i++){ var anchor=document.getElementById("anchor" + i); registerListener(anchor,i); } } function registerListener(anchor,i){ anchor.οnclick=function(){ alert("My anchor is anchor" + i); } } window.οnlοad=newInit; </script> </head> <body > <a id="anchor1" href="#">abc</a><br /> <a id="anchor2" href="#">abc</a><br /> <a id="anchor3" href="#">abc</a><br /> </body> </html>
第一个链接:
第二个链接:
第三个链接:
在敲例子的时候很容易犯上面的错误,造成敲一个例子十分钟,调一个例子一个小时。这些都是宝贵的经验教训,让我们对javascript的了解更进一步。