一、JS简介
1. 直接嵌入HTML页面
2. 由浏览器解释执行代码,不进行编译
注:
JS:解释型语言,弱类型语言
Java:编译型语言,强类型语言
二、变量
JS的变量用var来定义 variable
var num = 100;
变量名区分大小写,允许包含字母、数字、美元符号($)和下划线,但是第一个字符不允许是数字,不允许包含空格和其他标点符号
注:
起变量名要起有意义的名字,让人一眼就能知道这个变量指的是什么。
JS中不区分单引号和双引号
三、JS数据类型
1. undefined:变量没有初始值时将被赋予undefined
2. null:表示一个空值,与undefined值相等
3. number:var num = 90; //整数
var num = 90.1; //浮点数
4. 布尔型:true和false
5. string:被引号括起来的文本
var str = "This is a string";
var str = 'This is a string';
null、undefined区别:
没有初始化的变量自动取值为undefined,如果这个变量值为null表示这个变量已经赋值了,只是这个值正好是null。
声明变量统一使用var,声明的时候变量是没有类型的,但是变量赋值后就有类型,类型就是这个变量值的类型。
四、关系运算符
全等:===
不全等:!==
==:只要值相等就可以
===:不仅值相等,还要类型相等
五、String
创建String对象有两种方式:
1. var str1 = 'hello js!';
2. var str2 = new String('hello js!');
String属性:length
str1.length;//结果为9
String常用的方法:
1. 大小写转换
str.toLowerCase();
str.toUpperCase();
var str = 'Hello JS!';
console.log(str.toLowerCase());//结果为hello js!
console.log(str.toUpperCase());//结果为HELLO JS!
2. 获取指定字符
str.charAt(index) 返回指定位置的字符
index:字符位置
console.log(str.charAt(6)); //结果为j
3. 查询指定字符串出现索引
str.indexOf(findstr,[index]);
str.indexOf(findstr);
str.indexOf(findstr,index);
str.indexOf(findstr,[index])
str.lastindexOf(findstr,[index]);
注:
findstr:查找的字符串
index:开始查找的位置索引,可以省略
返回findstr在x中出现的首字符位置索引,如果没有找到则返回-1
lastIndexOf:从后面找起
4. split()方法用于把一个字符串切割成字符串数组
x.split(separator,howmany)
separator:字符串或正则表达式,从该参数指定的位置分割stringObject
howmany:指定返回数组的最大长度,可以省略
返回分割后的字符串数组
六、Boolean
Java中条件表达式必须返回布尔类型 if() while()
2<3 && ||
JS中表达式可以是任意表达式
表达式 | 对应的布尔值 |
true | true |
false | false |
0 | false |
null | false |
"" | false |
undefined | false |
NaN | false |
"非空"值 | true |
1不是0,是非空值,表示为true
NaN = Not a Number
注:在JS里面一切表示空的值都是false,非空的值都是true。
七、Array
1. 创建数组对象
int[] array;
String[] array;
var arr1 = new Array(); //创建一个空的数组
var arr2 = new Array(7); //创建一个长度为7的数组
var arr3 = new Array(100,'a',true);
var arr4 = [100,200,300]; //数组内容类型可以一致,也可以不一致
2. 获取数组元素的个数:length属性
3. JS的数组可以不使用下标,使用push和pop拿取数组中的元素(先进后出)
八、Math
Math.PI
Math.round(3.14) 四舍五入
结果:3
Math.floor(3.54) 向下取整
结果:3
Math.ceil(3.14) 向上取整
结果:4
九、eval
eval可以去掉引号,运行其中的指令
console.log(eval('2+3')); //结果:5
eval('var x=10; var y=20; console.log(x*y);'); //结果200
十、JS对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var student = {
name: 'zhansgan',
age: 23,
study: function() {
console.log(this.name + '的年龄是' + this.age + '岁');
}
};
console.log(student.name);
student.study();
</script>
</head>
<body>
</body>
</html>
十一、DOM
dom:document object model文档对象模型
dom技术在JS里的作用:JS语言和Html标签之间沟通的一个桥梁
为了方便JavaScript语言通过DOM操作Html比较方便,将Html标签的内容划分为各种节点:
1. 文档节点(document)
2. 元素节点(也叫标签,getElementByTagName)
3. 文本节点
4. 属性节点(type="****" name ="****")
5. 注释节点
dom就是学习利用JS如何实现对Html标签增删改查。
document:是页面中的内置对象,内置对象简单理解就是已经new好的一个对象,名称为document。
元素节点获取:
document.getElementById(id属性值);
document.getElementsByTagName("标签名");
十二、innerText、innerHtml
innerText直接当成一个字符串展示
innerHtml将内容当成html来解析