函数表达式
用变量赋值的写法去声明一个函数。
var print = function(str) {
console.log(str);
};
print("xxxx");
函数表达式
用变量赋值的写法去声明一个函数。
var print = function(str) {
console.log(str);
};
print("xxxx");
参数的省略
在javascript中,函数的参数不是必须的,Javascript可以省略。
如果函数的参数是复合数据类型的值(数组、对象、函数等),传递方式是引用传递。也就是说,在函数内部修改了原对象的值,会影响到原来的值。
function fo(oj) {
oj.name = "Jack";
console.log("oj.name=" + oj.name);
}
var obj = {
name : "Tom",
age :20
};
fo(obj);
console.log("obj.name=" + obj.name); // Jack
两个运算子都是原始数据类型以后,只要有一个运算子是字符串,则两个运算子都转化为字符串,做字符串拼接操作。
否则,两个运算子都转化为数值,做算术加法运算。
算术运算符
名称 | 表示 |
---|---|
加法运算符 | x + y |
减法运算符 | x – y |
乘法运算符 | x * y |
除法运算符 | x / y |
余数运算符(模运算符) | x % y |
自增运算符 | ++x、x++ |
自减运算符 | --x、x-- |
数值运算符 | +x |
负数值运算符 | -x |
var i = 0;
var arr6 = ['a','b','c','d'];
while (i < arr6.length) {
console.log(arr6[i++]);
// 等同于
// console.log(arr6[i]);
// i = i + 1;
}
赋值运算符
运算符 | 例子 | 等价于 | 结果 |
---|---|---|---|
= | x=y | x=5 | |
+= | x+=y | x=x+y | x=15 |
-= | x-=y | x=x-y | x=5 |
*= | x*=y | x=x*y | x=50 |
= | x/=y | x=x/y | x=2 |
%= | x%=y | x=x%y | x=0 |
比较运算符
比较运算符运算的结果是一个boolean值,表示是否满足条件。
运算符 | 含义 |
---|---|
== | 相等 |
=== | 严格相等 |
!= | 不等于 |
!== | 严格不等于 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
关于==和===
相等运算符比较两个值是否相等,严格相等运算符比较他们是否为“同一个值”。如果两个值不是同一类型,严格相等运算符直接返回false,而相等运算符会将他们转成同一数据类型,再用严格相等运算符进行比较。
DOM的最小组成单位就是节点(node)。DOM树就是由不同类型的节点组成。每个节点可以看成是DOM树上的叶子。
在DOM中,节点的类型一共有7种
- Document:整个文档树的顶层节点;
- DocumentType:dotype标签比如:
<!DOCTYPE html>
- Element:网页的各种HTML标签比如:
<body> <h> <a> <div>
- Attribute:网页元素的属性比如:
id=”id” class=”class” type=”text”
- Text:标签之间或标签包含的文本
- Comment:注释
- DocumentFragment:文档片段
3.节点树
Node.nodeValue
返回是一个字符串,表示当前节点本身的文本值,该属性可读写。
由于只有Text节点、Comment节点和xml文档的CDATA节点有文本值,因此只有这三类节点有nodeValue,其他节点一律返回null。
注意,这里需要特别注意的是,Text节点代表的是元素或属性中的文本内容。
Element.querySelectorAll()
方法接收 CSS 选择器作为参数,返回一个 NodeList 对象,包含所有匹配的子元素。Element.getElementsByTagName()
注意是标签的参数大小写不敏感Element.getElementsByClassName()
方法接收类名,返回当前节点所有匹配类名的元素Element.closest()
方法接收 CSS 选择器作为参数,返回当前元素节点最接近的父元素(从当前节点开始向上遍历)
<div id="_d" class="ddd">