目录
1. js变量可直接赋值,无需声明,js中会自动声明,但提前声明是一种良好但编程习惯,js声明有以下3种方式:
1.1 分别单独声明
var mood;
var age;
1.2 多个变量一起声明
var mood, age;
然后再分别赋值
mood = "happy";
age = "33";
1.3 这种声明和赋值是最有效的
var mood = "happy", age = 33;
2. js中但变量是区分大小写的,例如 MOOD 与 mood 是两个无关联的变量;
3. js变量中只可包含字母、数字、下划线、$,且第一个字符不许是数字;
4. 命名规则:my_mood or myMood(驼峰式:一般用于函数名/方法名/对象属性名)
附: js弹出式警告弹窗,此处用来打印变量;
alert(mood);
alert(age);
-------------------------case----------------------------------------
var mood = "happy", age = 33;
alert(mood);
alert(age);
---------------------------------------------------------------------
1. 类型声明:声明变量的同时声明变量的数据类型,强类型语言才需要;
js是弱类型语言,因此可以在任何阶段改变变量类型;
var age = "thirty three";
age = 33;
2. js中最重要的几种数据类型:
2.1 字符串
字符串可以包含在单引号 or 双引号里,可使用反斜线进行转义;
var mood = "don't ask";
var mood = 'don\'t ask';
2.2 数值
可以整数、浮点数、负数等;
var age = 33.25;
var temperature = -20;
var temperature = -20.33333;
2.3 布尔值
1. 数组是指用一个变量表示一个值的集合
先进行声明,然后进行填充,array[index] = element方式
var beatles = Array();
beatles[0] = "John";
beatles[1] = "Paul";
beatles[2] = "George";
beatles[3] = "Ringo";
简写:
var beatles = Array("John", "Paul", "George", "Ringo");
再简:
var bearles = ["John", "Paul", "George", "Ringo"];
数组元素可以是任意数据类型,也可以是变量,也可以是另一组数组的元素,或者包含其他数组
var name = "Bigstar";
var names = ["John", "Paul", "George", "Ringo"];
var lennon = ["John", 1998, true, name, names[2],names];
alert(lennon);
alert(lennon[5][1]);
2. 关联数组
更可读的填充数组的方式,存放数据的首选方式:将数据保存为对象;
使用字符串来代替数字值,本质上,在创建关联数组时创建的是Array对象的属性,
在JavaScript中,所有的变量实际上都是某种类型的对象,应该使用通用的对象(Object);
var lennon = Array();
lennon["name"] = "John";
lennon["year"] = "1998";
lennon["living"] = false;
alert(lennon["living"]);
-------------------------case----------------------------------------
var lennon = Array();
lennon["name"] = "John";
lennon["year"] = "1998";
lennon["living"] = false;
alert(lennon["living"]);
---------------------------------------------------------------------
1. 与数组类似,对象也是使用一个名字表示一组值,对象的每个值都是对象的一个属性;
var lennon = Object();
lennon.name = "John";
lennon.year = 1998;
lennon.living = false;
花括号语法,{ propertyName: value, propertyName: value }
var lennon = { name:"John", year:1998, living:false };
var bearles = Array();
bearles[0] = lennon;
alert(bearles[0].name);
进一步改进, bearles也升级为对象:
var lennon = { name:"John", year:1998, living:false };
var bearles = {};
bearles.vocalist = lennon;
alert(bearles.vocalist.name);
-------------------------case----------------------------------------
var lennon = { name:"John", year:1998, living:false };
var bearles = {};
bearles.vocalist = lennon;
alert(bearles.vocalist.name);
---------------------------------------------------------------------
算术操作符,即加减乘除
变量可以包含操作:
var total = (1 + 4) * 5;
也可以对变量进行操作:
var temp_fahrenheit = 95;
var temp_celsius = (temp_fahrenheit - 32) / 1.8;
操作缩写:
i++;
i--;
+ 也可运用于字符串,俗称‘拼接’,也可通过变量完成:
var mood = "happy";
var age = 18;
var message = "I am feeling " + "happy";
var message = "I am feeling" + mood + year;
字符串和数值拼接的区别:
alert ("10" + 20); // 1020
alert (10 + 20); // 30
+= 的运用,加法和赋值 or 拼接和赋值:
var year = 2021;
var message = "This year is ";
message += year;
alert(message); // This year is 2021
JavaScript 中的 if 语句,不一定需要花括号:
if (1 > 2) {
alert("The world has gone mad!");
}
可以简写为:
if (1 > 2) alert("The world has gone mad!");
> < >= <= != ==
== 并不表示严格相等,== 认为这俩的含义相同,返回true:
var a = false;
var b = "";
if (a == b) {
alert("a equals b");
}
===才会进行严格比较,===不仅比较值,而且会比较变量的类型,这俩类型不一样,返回flase;
var a = false;
var b = "";
if (a === b) {
alert("a equals b");
}
&& || !
1. while循环:先判断=ture后执行;
var count = 1;
while (count < 3) {
alert(count);
count++;
}
2. do...while循环:先执行do内容,后判断while条件;
var count = 1;
do {
alert(count);
count++;
} while (count < 1);
1. for循环:常用于数组元素遍历;
var beatles = Array("John", "Paul", "George", "Ringo");
for (var count = 0; count < beatles.length; count++) {
alert(beatles[count]);
}
1. 利用函数来避免重复键入大量相同内容,语法:应该对函数做出定义再调用它们;
function shout() {
var bearles = Array("John", "Paul", "George", "Ringo");
for (var count = 0; count < bearles.length; count++ ) {
alert(bearles[count]);
}
}
shout(); // 调用函数;
2. 魅力所在:传递不同的数据,让这些数据完成预定的操作,传递给函数的数据称为'参数';
JavaScript有许多内建函数,例如alert(),
function multiply(num1, num2) {
var total = num1 * num2;
alert(total);
}
multiply(1,2);
3. 函数不仅能以参数形式接收数据,还能返回数据:
或者说,把函数的调用结果赋给一个变量:
function multiply(num1, num2) {
var total = num1 * num2;
return total;
}
var num = multiply(1,2);
alert(num);
4. 命名规则:变量用下划线,函数用驼峰;
5. 变量的作用域:全局变量 and 局部变量;
function square(num) {
total = num * num; // 这里实则改变了全局变量
return total;
}
var total = 50;
var number = square(20);
alert(total); // 由于函数内调用了全局变量,所以这里total被函数改变了。
遇到同名,用了var就是局部变量,可以避免任何形式的二义性隐患:
function square(num) {
var total = num * num; // 函数内自己定义了一个局部变量total;
return total;
}
var total = 50;
var number = square(20);
alert(total); // total不受影响。
1. 对象是自包含的数据集合,包含在对象里的数据可以通过两种形式访问:属性 and 方法;
属性:隶属于某个特定对象的变量;
方法:只有某个特定对象才能调用的函数;
对象:由一些属性和方法组合在一起而构成的一个数据实体;
实例:对象的具体个体;
Object.property
Object.method()
假设age,mood,是Person这个对象的属性,则:
Person.mood
Person.age
假设Person还关联着其他函数,则这些函数就是这个对象的方法:
Person.walk()
Person.sleep()
把这些属性和方法集合在一起,就得到了一个Person对象;
为了使用Person对象来描述一个特定的人,需要创建一个Person对象的实例,
使用 new 关键字创建新实例,Person对象的一个新实例jeremy:
var jeremy = new Person;
利用Person对象的属性检索关于jeremy信息:
jeremy.age
jeremy.mood
2. 内建对象
例如Array对象,使用 new 去初始化一个数组时,其实是在创建一个Array对象的新实例:
var beatles = new Array();
利用Array对象的length属性,获取数据元素个数:
beatles.length;
其他内建对象:Math对象 and Date对象;
例如,Math对象的round方法可以把十进制数值舍入为与之对接近的整数:
var num = 7.123;
var num = Math.round(num);
alert(num); // 7
Date对象可以用来存储和检索与特定日期和时间有关的信息;
例如,其中getDay()方法获取给定日期是星期几:
var current_date = new Date();
var today = current_date.getDay();
alert(today);
3. 宿主对象
已经预先定义好的其他对象,但不是由JavaScript语言本身而是由它的运行环境提供的,
即 由浏览器提供的预定义对象,称为宿主对象;
宿主对象包括Form、Image 和 Element 等,通过这些对象获得关于网页上的表单、图像和各种表单元素等信息;
document 对象,用来获得关于网页上的任何一个元素的信息;