js基础
学习完java Se的基础知识后,对网页很感兴趣,很想知道人家那些网站的一些效果是怎么做出来的。后来咨询一些朋友之后建议我看看javascript和html的相关知识。html的一些基础知识我以前学习过,于是在网上找了很多的关于javascript相关的文章。学习了一些相关的知识,现在和大家分享一下。
javascript是网页的脚本型语言,是Netscape公司语言,但是现在是Oracle公司的语言。其和java的不同之处:
-
js是基于对象,java是面向对象。
-
js是由浏览器解释并执行,java是由jvm解释并执行
-
js是弱类型的语言,java是强类型。
-
js属于非严谨性的语言,java是严谨性的语言。
Javascript的基本语法:
-
变量通过var关键字来定义变量,该变量可以赋予不同类型的常量
-
语句有if,switch,do while,for;使用逻辑运算符进行布尔表达式连接的时候,需要时短路与和短路或,&& ||。因为在js中,非0即为真,0为false,非null为true,null为false。
-
Js特有的语句:
-
with(对象){}可以确定对象所使用的范围,在范围内,可以直接使用指定对象的属性和行为,而不用对象.的形式调用,简化了对象的操作。
for(变量 in 对象):可以对对象的属性及行为进行遍历。
在js之中有一个很重要的概念即DOM意思就是文档模式,其中一些主要的类和方法为:
1、document方法:
2、getElementById(id) Node 返回指定结点的引用
3、getElementsByTagName(name) NodeList 返回文档中所有匹配的元素的集合
4、createElement(name) Node Node
5、createTextNode(text) Node 创建一个纯文本结点
6、ownerDocument Document 指向这个节点所属的文档
7、documentElement Node 返回html节点
8、document.body Node 返回body节点
9、element方法:
10、getAttribute(attributeName) String 返回指定属性的值
11、setAttribute(attributeName,value) String 给属性赋值
12、removeAttribute(attributeName) String 移除指定属性和它的值
13、getElementsByTagName(name) NodeList 返回结点内所有匹配的元素的集合
14、node方法:
15、appendChild(child) Node 给指定结点添加一个新的子结点
16、removeChild(child) Node 移除指定结点的子结点
17、replaceChild(newChild,oldChild) Node 替换指定结点的子结点
18、insertBefore(newChild,refChild) Node 在同一层级的结点前面插入新结点
19、hasChildNodes() Boolean 如果结点有子结点则返回true
20、node属性:
21、nodeName String 以字符串的格式存放结点的名称
22、nodeType String 以整型数据格式存放结点的类型
23、nodeValue String 以可用的格式存放结点的值
24、parentNode Node 指向结点的父结点的引用
25、childNodes NodeList 指向子结点的引用的集合
26、firstChild Node 指向子结点结合中的第一个子结点的引用
27、astChild Node 指向子结点结合中的最后一个子结点的引用
28、previousSibling Node 指向前一个兄弟节点;如果这个节点就是兄弟节点,那么该值为null
29、nextSibling Node 指向后一个兄弟节点;如果这个节点就是兄弟节点,那么该值为null
js中函数的声明使用关键字function
-
通常函数定义的一般格式:
a、一般函数 function 函数名(形式参数...){
执行语句;
return 返回值;
}
b、动态函数 使用的function对象。
Var show=new function(“x”,”y”,”return x+y”);
动态函数的特点:可以将参数列表和方法作为参数传递
c、匿名函数 一般函数的简写形式。
Function(){}
匿名函数通常可以用于事件的处理。在函数使用时需要注意:
Function show(){
reutrn “show run”;
}
Var method=show();
Var method=show;以上的两句代码都是正确的,
js中的数组特点在于,该数组的长度是可变的,相对java中的集合而言,该数组中可以存放的元素类型可以是不同的。但是操作形式和java一样,都是通过for进行遍历,同时也使用了指针思想。
js通常通过对象形式将数据进行封装。首先对对象进行描述,通过函数来完成。
下边给出一个小例子:
Function Person(name,age){
This.name=name;
this.age=age;
}
Var p=new Person(“lisi”,30);
alert(p[''name']+”...”+p.age);
p.show=function(){
Alert(“show run”);
}