1、 数据类型(了解即可)
在JavaScript中,分为两大类
由于JavaScript是一个弱类型语言,它是根据等式右边的值来确定数据类型的,所以,我们不需要在左边指定它的类型,只需要使用var来让类型自动转换即可
基本数据类型
Boolean(布尔类型),其值为true,false
String(字符串类型),其值为用双引号或单引号引起来的内容
Number(数字类型),数字类型分为整数和浮点数
Null(空类型),空值
Undefined(未定义型),表示该数据未定义
<script>
var a = true; // 布尔类型
var b = 1;var c = 1.1; // 数字类型
var d = null; // 空类型
var e = undefined; // 未定义类型
</script>
复杂数据类型
Object(对象)
对象一般是以,键值对的形式保存数据
<script>
var o = {
"key": "value", // 属性
print: function () { // 一个方法
console.log("这是一个输出语句");
}
}
console.log(o.key); // 输出属性
o.print() // 调用方法,调用方法,注意在方法名后面加上小括号
// 创建对象的其他方式
var o2 = new Object();
o2.key2 = "value2";
o2.print2 = function () {
console.log("这是第二个输出语句")
}
console.log(o2.key2);
o2.print2();
</script>
2、算术运算符
可以猜猜下面这段代码的结果是什么?
<script>
// 整数间的加减乘除
var a = 10;
var b = 3;
console.log(a + b);
console.log(a - b);
console.log(a * b);
console.log(a / b);
console.log("-----------");
// 浮点数的加减乘除
var a1 = 10.0;
var b1 = 3.0;
console.log(a1 + b1);
console.log(a1 - b1);
console.log(a1 * b1);
console.log(a1 / b1);
</script>
不知道你们有没有猜对呢? 整数的第四个为什么也是0.5呢?两个整数,不应该1除以2是0吗?
因为js把整数的除法运算也作为了除以,是直接得出浮点数的
如果你想得到一个整数,可以转为整数,方法是paseInt
console.log(parseInt(a / b));
这里没有对取余符号进行说明,取余符号和它的中文意义是一样的,就没有进行演示了,这里有一个温馨提示,取余不能对浮点数使用
3、自增自减运算符
++a和a++的区别,可能很多同学不太明白,这里举个例子
这是一段简单的while循环,当a>=3时循环停止,这里的结果大家应该也能猜出来
其实就是先输出a,再让a++, 那么第一次就是0,a++后值是1
输出a,让a++,那么第二次是1,以此类推,好,那么我们再看一个反例
<script>
var a = 0;
while (a < 3) {
console.log(a++);
}
</script>
这也是一段简单的while循环,当a>=3时循环停止,这里的结果大家应该也能猜出来
其实就是先输出a++,再让a被输出, 那么第一次就是1,a++后值是1
让a++,输出a,那么第二次是2,以此类推
<script>
var a = 0;
while (a < 3) {
console.log(++a);
}
</script>
其实一个就是先让console任务执行再让a++,,而另一个是先让a++,再让console任务执行,很简单的原理
4、逻辑运算符&&if语句
这个东西也很让人头疼,但是理解好了就不头疼了,这里详细只讲三个
&&与:当与的条件都成立后,执行下面的代码
||或:当或的条件任意成立一个后,执行下面的代码
!非:将成立的条件变为不成立的,反之,亦然
这里举例说明,先介绍一下if语句,再讲与if等相关的逻辑运算符
<script>
// if
//else if
//else
// 这个应该都学过,表示的意思分别是如果,不是如果,就是else if否则如果,和否则
if (2 > 1) {
// 代码解释:如果2>1,执行下面的代码
// 很明显,这是必然的,2当然大于1,所以条件会被执行
console.log("2 > 1");
}
if (2 > 1 && 1 > 2) {
// 如果是一个这样的语句呢?还会执行吗?
console.log("2大于1 ?");
// 很明显,这不会,因为加入了一个与的条件,也就是说
// 当2>1 并且 1>2时,条件成立,才执行下面的语句
}
if (2 > 1 || 1 > 2) {
// 这个呢?会吗?
console.log("2大于1 ?");
// 这个就会了,因为这是或的条件,有一个成立就行
}
if (!(2 > 1)) {
console.log("那这个呢?会吗?");
// 又不会了,因为有非的条件,本来2>1这是成立的,但是非可以把成立变成不成立,所以条件不成立,不会进入
}
</script>