什么是JavaScript
JavaScript 是脚本语言,一种轻量级的编程语言,可插入 HTML 页面的编程代码,插入 HTML 页面后,可由所有的现代浏览器执行。
js可以做的事:
写入 HTML 输出
对事件作出反应
改变 HTML 内容
改变 HTML 图像
改变 HTML 样式
验证输入
怎样引入js
HTML 中的脚本必须位于<script>
与</script>
标签之间。一个HTML文件中可以包含多个<script>
标签。
脚本可被放置在 HTML 页面的<body
和 <head>
部分中(通常放在body元素的尾端),也可以把脚本保存到外部文件中,然后在<script>
标签的 “src” 属性中设置该 .js 文件路径。
js变量
变量是存储信息的容器。可用于存放值和表达式。
声明变量
使用 var 关键词来声明变量:
var name;
刚声明后变量是空的,可以用等号赋值(未使用值来声明的变量,其值实际上是 undefined。)
name = “黑猫”;
重新声明 JavaScript 变量,该变量的值不会丢失,以下语句执行后,变量name的值仍然是“黑猫”
var name = “黑猫”;
var name;
也可以声明同时赋值:
var name = “黑猫”
var x = 1;
var y = 2;
var z = x + y;
可以在一条语句中声明很多变量。该语句以 var 开头,并使用逗号分隔变量即可:
var name="黑猫", age=26, job="study";
或
var name="黑猫",
age=26,
job="study";
局部变量和全局变量
局部变量:在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。
全局变量:在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
如果把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。如:
newname = “黑猫”;
声明了一个全局变量newname,即使他在函数内。
变量的生存期:
从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除
JavaScript 数据类型
数据类型有:字符串、数字、布尔、数组、对象、Null、Undefined
JavaScript 的变量拥有动态类型,即同一个变量可以先后赋值为不同数据类型:
var a = “abandon”;(赋值为字符串,用单引号或双引号)
var a = 1;(赋值为数字,可以带小数点,可以用科学计数法书写)
var a = true;(赋值为布尔值,布尔值只有true和false)
var a = new Array(1,2,3);(赋值为数组)
var a = {firstname:“Bill”, lastname:“Gates”, id:5566};(赋值为对象,对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔)
var a = null;(Undefined 这个值表示变量不含有值。可以通过将变量的值设置为 null 来清空变量)
声明变量类型
声明新变量时,可以使用关键词 “new” 来声明其类型,变量均为对象,当声明一个变量时,就创建了一个新的对象。
var carname=new String;
var x = new Number;
var y = new Boolean;
var cars = new Array;
var person = new Object;
JavaScript对象
JavaScript 中几乎所有事物都是对象:字符串、数字、数组、日期,等等。对象是拥有属性和方法的数据。
访问对象的属性:
objectName.propertyName
访问对象的方法:
objectName.methodName()
JavaScript函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块(函数内的代码块只有在函数被调用时才会执行),语法:
function functionname(参数)
{
要执行的代码
}
调用该函数时,会执行函数内的代码。可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。
调用函数时,可以向其传递值,即若干参数,多参数由逗号分隔
带有返回值的函数
在使用 return 语句时,函数会停止执行(整个 JavaScript 并不会停止执行,仅仅是函数。JavaScript 将继续执行代码),并返回指定的值。
运算符
算数运算符
用于执行变量与/或值之间的算术运算。
加 减 乘 除 求余数 累加1 递减1(依次对应下方代码)
+ - * / % ++ --
赋值运算符:
用于给 JavaScript 变量赋值。
注:用于字符串的 + 运算符是把字符串变量连接起来,如果把数字与字符串相加,结果将成为字符串。
比较运算符
在逻辑语句中使用,以测定变量或值的关系
逻辑运算符
用于测定变量或值之间的逻辑
条件运算符(也叫三元运算符):
基于某些条件对变量进行赋值的条件运算符。语法:
variablename=(condition)?value1:value2
如:
greeting=(visitor=="PRES")?"Dear President ":"Dear ";
如果变量 visitor 中的值是 “PRES”,则向变量 greeting 赋值 "Dear President ",否则赋值 “Dear”。
条件语句
用于基于不同的条件来执行不同的动作。
If 语句
只有当指定条件为 true 时,该语句才会执行代码。语法:
if (条件)
{
只有当条件为 true 时执行的代码
}
If…else 语句
条件为 true 时执行代码,在条件为 false 时执行其他代码。语法:
if (条件)
{
当条件为 true 时执行的代码
}
else
{
当条件不为 true 时执行的代码
}
If…else if…else 语句
使用 if…else if…else 语句来选择多个代码块之一来执行。
if (条件 1)
{
当条件 1 为 true 时执行的代码
}
else if (条件 2)
{
当条件 2 为 true 时执行的代码
}
else
{
当条件 1 和 条件 2 都不为 true 时执行的代码
}
Switch 语句
用于根据条件来选择要执行多个代码块其中之一。语法:
switch(n)
{
case 1: 执行代码块 1
break;
case 2:执行代码块 2
break;
……
default:
n 与 case 1 和 case 2 不同时执行的代码
}
(使用 break 来阻止代码自动地向下一个 case 运行,用default 关键词来规定匹配不存在时做的事情)
循环语句
用于将代码块执行指定的次数。
For 循环
可以指定循环的起点、终点和终止条件。语法:
for (初始化表达式; 条件; 递增表达式) {
语句
}
初始化表达式initialize:确定循环变量的初始值,只在循环开始时执行一次。
条件表达式test:每轮循环开始时,都要执行这个条件表达式,只有值为真,才继续进行循环。
递增表达式increment:每轮循环的最后一个操作,通常用来递增循环变量。
for语句的三个部分(initialize、test、increment),可以省略任何一个,也可以全部省略,全部省略会成为一个无限循环。
while 循环
包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。语法:
while (条件) {
语句;
}
(如果只有一条语句,可以省略大括号,否则就必须加上大括号。)
do…while 循环
与while循环类似,唯一的区别就是先运行一次循环体,然后判断循环条件。语法:
do {
语句
} while (条件);
不管条件是否为真,do…while循环至少运行一次
break语句
用于跳出代码块或循环。如:
var i = 0;
while(i < 100) {
console.log('i 当前为:' + i);
i++;
if (i === 10) break;
}
上面代码只会执行10次循环,一旦i等于10,就会跳出循环。
continue语句
用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。如:
var i = 0;
while (i < 100){
i++;
if (i % 2 === 0) continue;
console.log('i 当前为:' + i);
}
上面代码只有在i为奇数时,才会输出i的值。如果i为偶数,则直接进入下一轮循环。
如果存在多重循环,不带参数的break语句和continue语句都只针对最内层循环。
标签(label)
语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下:
label:
语句
标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句,通常与break语句和continue语句配合使用,跳出特定的循环。
注意:
continue 语句带有或不带标签引用,只能用在循环中。
break 语句不带标签引用,只能用在循环或 switch 中;带标签引用,break语句则可以用于跳出任何js代码块。
其他
1、js对大小写敏感