JavaScript
行间事件(主要用于事件)可以在 html 标签中写。
<input type="button" name="" onclick="alert('ok!');">
页面script标签嵌入
1 | <script type="text/javascript"> |
外部引入<script type="text/javascript" src="js/index.js"></script>
javascript语句与注释
在一对 script 的标签中有错误的js代码,那么后面的js代码不会执行。
如果第一对 script 标签中有错误,不会影响后面的 script 标签中 js 代码执行。
script 的标签中可以写什么内容, type=“text/jsavscript” 是标准写法或者写 language = “javascript” 都可以。
但是,目前在我们的html页面中,type和language 都可以省略,原因,html是遵循 h5 标准的。
script 标签子页面中可以出现多对
script 标签一般是放在body的标签的最后的,有的时候会在 head 标签中,目前都是在body的后面。(body的最后)
如果script标签是引入外部js文件的作用,那么这对标签中不要写代码。
1 | 1.一条javascript语句应该以";"结尾 |
- 变量
1 | JavaSciprt是一种弱类型语言,javascript的变量类型由它的值来决定。定义变量需要用关键字 'var' |
- 获取元素的方法一
1 | 可以使用内置对象document上的getElementById方法来获取页面上设置了id属性的元素,获取到的是一个html对象,然后将它赋值给一个变量,比如: |
- 操作元素属性
1 | 获取的页面元素,就可以额对页面元素的属性进行操作,属性的操作包括属性的读和写。 |
- innerHTML
1 | innerHTML 可以读取或者写入标签包裹的内容 |
- 函数
1 | 函数定义与执行: |
- 条件语句
1 | if else语句: |
- 数组及操作方法
1 | 在JavaScript中,数组里面的数据可以是不同类型的。 |
- 获取元素的第二种方法
document.getElementsByTagName(''),获取的是一个选择集,不是数组,但是可以用下标的方式操作选择集里面的dom元素
- 循环语句
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31程序中进行有规律的重复性操作,用到循环语句。
for 循环
for(var i=0;i<len;i++)
{
...
}
while 循环
var i = 0;
while(i<10){
...
i++;
}
数组去重
var aList = [1,2,3,4,4,3,2,1,2,3,4,5]
var aList2 = [];
for(var i=0;i<aList.length;i++){
if(aList.indexOf(aList[i]==i){
aList2.push(aList[i]);
}
}
alert(aList2);
JavaScript组成
1. ECMAscript JavaScript的语法
2. DOM文档对象模型,操作html和css的方法
3. BOM浏览器对象模型 操作浏览器的一些方法
字符串处理方法:
1、字符串合并操作: “+”
2、parseInt() 将数字字符串转化为整数
3、parseFloat()将数字字符串转化为小数
4、split() 把一个字符串分割成字符串组成的数组
5、charAt() 获取字符串中的某一个字符
6、indexOf() 查找字符串是否含有某字符
7、substring() 截取字符串 用法:substring(start,end) (不包括 end)
8、toUpperCase() 字符串转大写
9、toLowerCase() 字符串转小写字符串反转
1
2
3var str = 'asdfj';
var str2 = str.split('').reverse().join('');
alert(str2)调试方法
1.alert
2.console.log
3.document.title定时器
1 | 定时器在javascript中的作用 |
定时器制作时钟
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73<script type="text/javascript">
window.onload = function(){
var oDiv = document.getElementById('div1');
function timego(){
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth()+1;
var date = now.getDate();
var week = now,getDay();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
var str = '当前时间是:' + year + '年'+month+'月'+date+'日'+toweek(week)+''+todou(hour)
oDiv.innerHTML = str;
}
timego();
setInterval(timego,1000);
}
function toweek(n){
if (n==0){
return '星期日';
}
else if (n==1){
return '星期一';
} else if (n==2){
return '星期二';
}
else if (n==3){
return '星期三';
}
else if (n==4){
return '星期四';
}
else if (n==5){
return '星期五';
}
else{
return '星期六';
}
}
function todou(n){
if(n<10){
return '0'+n;
}else{
return n;
}
}
</script>
定时器制作倒计时
<script type="text/javascript">
window.onload = function(){
var oDiv = document.getElementById('div1');
function timeleft(){
var now = new Date();
var future = new Date(2016,8,12,24,0,0);
var lefts = parseInt((future-now)/1000);
var day = parseInt(lefts/86400);
var hour = parseInt(lefts%86400/3600);
var min = parseInt(lefts%86400%3600/60);
var sec = lefts%60;
str = '距离2018年9月12日晚上24点还剩下'+day+'天'+hour+'时'+min+'分'+sec+'秒';
oDiv.innerHTML = str;
}
timeleft();
setInterval(timeleft,1000);
}
</script>
....
<div id="div1"></div>- 类型转换
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
171.直接转换 parseInt() 与 parseFloat()
alert('12'+7) ; //弹出127
alert(parseInt('12')+7); //弹出19
....
2.隐式转换 “==”和“-”
if('3'==3)
{
alert('相等');
}
//弹出 ‘相等’
alert('10'-3); //弹出7
3.NaN 和 isNaN
alert(parseInt('123abc')); //弹出123
alert(parseInt('abc123')); //弹出NAN变量作用域
1.全局变量:在函数之外定义的变量,为整个页面公用,函数内部都可以访问。
2.局部变量:在函数内部定义的变量,只能在定义该变脸的函数的函数内部访问,外部无法访问。封闭函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19封闭函数是JavaScript种匿名函数的另外一种写法,创建一个一开始就执行而不用命名的函数。
一般定义的函数和执行函数:
function changecolor(){
var oDiv = document.getElementById('div1');
oDiv.style.color = 'red';
}
changecolor();
封闭函数:
(function(){
var oDiv = document.getElementById('div1');
oDiv.style.color = 'red';
})();
还可以在函数定义前加上"~"和“!”等符号来定义匿名函数
!function(){
var oDiv = doucument.getDocumentById('div1');
oDiv.style.color = 'red';
}()
预解析: 就是在解析代码之前
函数的声明也会被提前, 提前到当前所有作用于的最上面(只是声明,并没有赋值)
- 闭包
1 | 函数嵌套函数,内部函数可以引用外部函数的参数和变量,参数和变量不会被垃圾回收机制收回 |
- 内置对象
1 | 1.document |
- 面向对象
1 | 1.面向过程:所有的工作都是现写现用 |
- 新选择器
1 |
|