目录
一、JS简介
先声明JS语言虽然叫JavaScript都是是它和Java语言没有任何关系。它们是两种完全不同的语言
1、JS的特点
- 直接嵌入HTML页面。
- 由浏览器解释执行代码,不进行预编译。
- JS是解释型语言、弱类型语言
(1)解释型语言
JS代码在运行时由解释器逐行解释并执行,不需要编译成机器码。Java是编译型语言
(2)弱类型语言
在JS中,变量的类型不需要显式声明,解释器会在代码执行过程中根据变量的赋值自动确定其类型。甚是是可以给同一个变量附不同类型的值。相对的Java是强类型语言。
2、变量命名规则
(1)变量名区分大小写,允许包含字母、数字、美元符号($)和下划线,但第一个字符不允许是数字,不允许包含空格和其他标点符号。
(2)起有意义的名字,最重要一点就是“见名知意”。
JS不区分单引号和双引号。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
var num1 = 3; //声明变量不需要指明数据类型,全都用var来声明
var num2 = 6;
var result1 = num1 + num2;
console.log(result1);
num1 = 2;
num2 = "10"; //同一个变量可以给它赋类型不一样的值 (这里的6,和“10”)
var result2 = num1 + num2;
console.log(result2);
var result3 = num1 + parseInt(num2); //parseInt将字符串转换为数字
console.log(result3);
</script>
</body>
</html>
二、JS数据类型
(这是我们老师画的图,嘿嘿)
(1)undefined和null的区别
- undefined是声明变量是没有给变量赋初始值,系统就会默认这个变量是undefined类型
- null是声明变量的时候已经给这个变量赋值了,只不过这个变量的值正好是null而已
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试js数据类型</title>
</head>
<body>
<script>
var num; //没有赋初值,所以是undefined类型
console.log(num);
console.log(typeof(num));
num = 3.14; //是Number类型
console.log(num);
console.log(typeof (num));
num = "str"; //是string类型
console.log(num);
console.log(typeof (num));
num = null; //只给了初值是null这样没法判断它是什么类型,但是输出它的类型结果是object
console.log(num);
console.log(typeof (num));
num = true; //是boolean类型
console.log(num);
console.log(typeof (num));
</script>
</body>
</html>
(2)关系运算符
- == //等于,值相等就可以不管类型
- === (全等) //值和类型都要相等
- !== (不全等)//类型和值有一个不等就是不全等
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试js运算符</title>
</head>
<body>
<script>
var a = '2';
var b = 2;
var c = '3';
if (a == b) {
console.log('a == b');
}
if (a === b) {
console.log('a === b');
}
if (a !== b) {
console.log('a !== b');
}
if (a !== c) {
console.log('a !== c');
}
</script>
</body>
</html>
其他运算符和Java语言一样
1、string类型
(1)创建String对象的两种方式
- var str1 = 'hello js!';
- var str2 = new String('hello js!');
(2)String属性:length
str1.length; // 9
(3)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:字符位置
3)查询指定字符串出现索引
- str.indexOf(findstr, [index]);
- str.indexOf(findstr);
- str.lastIndexOf(findstr, [index]);
- str.lastIndexOf(findstr);
使用说明:
- findstr:查找的字符串
- index:开始查找的位置索引,可以省略
- 返回findstr在str中出现的首字符位置索引,如果没有找到则返回-1
- lastIndexOf:从后面找起
4)split() 方法用于把一个字符串分割成字符串数组。
- str.split(separator,howmany)
使用说明:
- separator : 字符串或正则表达式,从该参数指定的地方分割 str
- howmany:指定返回数组的最大长度,可以省略
- 返回分割后的字符串数组
<script>
var str1 = 'Hello JS and Java';
console.log(str1.indexOf('J'));
console.log(str1.indexOf('JS'));
console.log(str1.indexOf('J', 7));
var str2 = 'how are you doing today';
var array = str2.split(' ');
console.log(array);
console.log('1,1,2,3'.split(','));
console.log(array[0]);
</script>