1.Javascript简介
JavaScript是一种轻量级的脚本语言,可以部署在多种环境,最常见的部署环境就是浏览器。所谓“脚本语言”,指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序的操作方法。
JavaScript的核心部分相当精简,只包括两个部分:
基本的语法构造(比如操作符、控制结构、语句)
标准库(就是一系列具有各种功能的对象比如Array、Date、Math等)。
除此之外,还有提供的额外API可以分成三大类:浏览器控制类、DOM类、Web类。
Javascript还拥有非常广泛的使用领域
(1)浏览器的平台化
(2)Node.js
(3)数据库操作
(4)跨移动平台
javascript简单易学的特点也是另一个让人着迷的地方。
(1)学习环境无处不在
(2)简单性
(3)与主流语言的相似性
Javascript的调试工具也是极其简单。只要安装了Chrome浏览器,那么在其自带的“开发者工具“中唤醒”控制台” ,就能够随时运行和调试javascript代码。
控制台(console):代码运行和调试的一个工具,因为开发者可以在这个工具中对整个代码的运行过程进行调控,故形象的被成为控制台。
控制台唤醒:
Mac环境下:Option+Command+J
Windows/Linux环境下:Ctrl+Shift+J
ps:在检查代码的界面中按下esc也能唤醒控制台,只不过这个时候页面样式也存在,会对js的调试产生影响。
Javascript发展历史
1995年12月4日 Netscape公司与Sun公司联合发布了JavaScript语言。
1996年03月 Navigator 2.0浏览器正式内置了JavaScript脚本语言。
1997年07月 ECMAScript 1.0发布。
1998年06月 ECMAScript 2.0版发布。
1999年12月 ECMAScript 3.0版发布,成为JavaScript的通行标准,得到了广泛支持。
2007年10月 ECMAScript 4.0版草案发布
2009年12月 ECMAScript 5.0版正式发布
2015年06月 ECMAScript 6正式发布
JavaScript与ECMAScript的关系
ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。在日常场合,这两个词是可以互换的。
2.Javascript名词解释
语句:JavaScript程序的执行单位为行(line),语句以分号结尾。一般情况下,每一行代码就是一个语句。
var a = 1 + 3;
ps:多个语句可以写在一行内。但是一般情况下一行只写一条语句。
var a = 1 + 3 ; var b = 'abc';
变量:其表示的值可以发生改变的量,叫做变量。
var a;//在这个例子中a表示一个变量,a是变量的变量名。
ps:创建一个变量的过程叫做变量的声明。
pss:给变量一个具体的值的过程叫做变量的赋值。(变量在赋值之前必须被声明)
a = 10;
psss:将变量的声明和赋值写在一起的方式叫做变量的初始化。
var a = 10;
名称解释
script标签表示脚本,可以在script标签中编写js代码。
另外可以通过script得src属性可以引入外部的脚本文件。
注意:script可以写在html文件的任意位置,到那时一般写在body的最后
1.语句
描述:以分号结尾的表达式
注意:一般情况一行就是一个语句(多个语句可以写在一行,但不建议)
2.变量
描述:其表示的值可以发生改变的量
语法:变量一般采用var申明
例子:var num=10;
3.Javascript变量命名规则
(1)JavaScript语言的标识符对大小写敏感,所以a和A是两个不同的标识符。
(2)首字母可以是任意字母以及美元符号和下划线。剩余可以是任意字母,美元符号,下划线和数字
aNum FrankenStein _My_Id $name4 $user_address
ps:不能使用数字来当做命名的首位。
(3)不能使用javascript中的关键字(保留字)来命名变量
eg: arguments、break、case、catch、class、const、continue
……
(4)常用命名方式:驼峰命名法(首字母大写,其余字母小写)
eg: var userName = 15;
ps:给变量命名一定要给有意义的名字,不要使用类似a、b、c之类的无意义名字。
4.Javascript变量类型
Javascript中有六大基本数据类型,这六种数据类型也就是我们声明变量的类型。
(1)number 数字类型
(2)string 字符(串)类型
(3)boolean 布尔类型
(4)*Array 数组类型(不是基本数据类型)
(5)undefined&null 未定义类型&空类型
(6)object 对象类型
ps:JavaScript 拥有动态类型
JavaScript 拥有动态类型。这意味着变量可以根据其保存的值的类型不同,显示为不同的类型。
var x // x 为 undefined类型
var x = 6; // x 为数字类型
var x = “Bill"; // x 为字符串类型
(1)number 数字类型
JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:
var x1=34.00; //使用小数点来写
var x2=34; //不使用小数点来写
极大或极小的数字可以通过科学(指数)计数法来书写:
var y=123e5; // 12300000
var z=123e-5; // 0.00123
(2)string字符(串)类型
字符串是存储字符(比如 “Frankenstein")的变量。字符串可以是引号中的任意文本。可以使用单引号或双引号:
var userName ="Frankenstein";
var userName ='Ma Yun';
可以在字符串中使用引号,只要不与包围字符串的引号冲突即可:
var answer = "Nice to meet you!";
var answer ="He is called 'Frank'";//外层是双引号,内层是单引号
var answer = 'He is called "Frank"';
(3)boolean布尔类型
布尔(逻辑)只能有两个值:true 或 false。
var x=true;
var y=false;
布尔常用在条件测试中,表示真假值。
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>字符串类型_布尔类型</title>
<script>
/*
3.字符(串)类型
描述:在js中字符串类型是用来存储字符的类型,可以使用单双引号定义。
注意:字符串在定义时只要写在引号内部即可
但是唯一不能写在内部的时外部定义时用的引号。
例子:
var str1='';
var str2='a';
var str3='hello world';
var str4="good sxt";
var str5='my name is "sxt"';
console.log( str5);
4.布尔类型
描述:可以用来判断真假的数据类型
类型值:true false
*/
var flag=true;
var flag2=false;
console.log( typeof flag);
console.log( typeof flag2);
</script>
</head>
<body>
</body>
</html>
(4)Array数组类型
数组是一组连续有序的变量的集合,数组中的变量根据数组中的下标来进行访问,数组中的变量被称为数组元素。
语法:var 数组名 = new Array(数组元素,数组元素,数组元素);
或者
var 数组名 = [数组元素,数组元素,数组元素];
var cars=new Array();
cars[0]="Audi";
cars[1]="BMW";
cars[2]="BeiDouXing";
var cars=new Array("Audi","BMW",“BeiDouXing");
var cars=["Audi","BMW",“BeiDouXing"];
ps:数组类型是一种特殊的对象类型。
(5)undefined&null 未定义类型&空类型
Undefined类型表示数据类型未知或者存在类型错误。如果变量的值为undefined,并不代表变量没有类型!
var name;
console.log(name); //此时变量name的类型就是undefined类型
null类型表示数据类型存在,但是并没有给变量(对象)赋值。一般null类型用于对象类型的初始化。如果变量(对象)的值为null,并不代表变量(对象)没有类型
var name;
name = null;
console.log(name); //此时name就不再是变量,而是一个对象。类型就是null类型。
总结:undefined类型和null类型在页面中表现的效果是相同的,但是undefined用于变量类型,而null用于对象类型。两者必须不能混用!!!!
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>未定义类型_空类型</title>
<script>
/*
5.未定义类型undefined
描述:是用来描述当变量的值不确定时,变量所表示的类型
注意:未定义类型中有一个值就是undefined
例子:
var item;
console.log(typeof item);
6.空类型null
描述:表示对象为空。
*/
var item ;
item=null;
console.log(typeof item);
</script>
</head>
<body>
</body>
</html>
(6)object对象类型
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:
var person={firstname:"Bill", lastname:"Gates", id:5566};
上面例子中的对象person有三个属性:firstname、lastname 以及 id。
ps:空格和折行无关紧要。声明可横跨多行:
var person={
firstname : "Bill",
lastname : "Gates",
id : 5566
};
对象属性有两种寻址方式(获取对象属性所对应的值的方式):
name=person.lastname;
name=person["lastname"];
js中的六种数据类型
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>js中六种数据类型</title>
<script>
/*
1.数据类型
描述:js中有六种数据类型,其中有五种是基本数据类型和一种对象(object)类型
类型:
(1)number 数字类型
(2)string 字符(串)类型
(3)boolean 布尔类型
(4)undefined 未定义
(5)null 空类型
注意:js中拥有动态类型,变量可以根据【保存的值的类型】不同,而表现位不同的类型
[typeof 运算符能够查看变量的类型]
例子:
var item;
console.log(typeof item);
item=10;
console.log(typeof item);
item=true;
console.log(typeof item)
2.number类型
*/
var num1=3;
var num2=3.14;
var num3=314e2;
console.log(num3);
</script>
</head>
<body>
</body>
</html>
5.JavaScript用法
(1)HTML中的脚本必须位于标签之间。
(2)脚本可被放置在HTML页面的和部分中。
常用的两种引入js的方法:
1)在head标签里面引入外部的.js文件
2)在body结束标签之前引入内部脚本
<script>
alert(“我的第一个JavaScript”);
</script>
6.JavaScript 输出
JavaScript可以通过不同的方式来输出数据:
- window.alert() 弹出警告框
<script>
window.alert(5+6);
</script>
-
document.write() 方法将内容写到 HTML 文档中
-
console.log() 写入到浏览器的控制台
<script>
console.log(“hello world”) ;
</script>
7.Javascript基本运算符简介
(1)typeof 获取当前变量类型运算符(特殊)
描述:获取变量的类型
例子:
var item=10;
console.log(typeof item);
(2)= 赋值运算符
描述:在js中,=代表的是把等号右边的值赋予左边的变量
例子:
var item;
item=15;
(3)== 简要比较运算符(忽略变量类型)
(4)=== 标准比较运算符(计算变量类型)
描述: == 表示判断两个变量的值是否相等(忽略变量的类型) 相等返回true
=== 表示判断两个变量的值是否相等(包括变量的类型)
例子:
var item1=10;
var item2='10';
console.log(item1==item2);
console.log(item1===item2);
(1) typeof 获取当前变量类型运算符
var num=1;
console.log(typeof num);
var str = "1";
console.log(typeof str);
var obj={};
console.log(typeof obj);
var bool = false;
console.log(typeof bool);
bool = null;
console.log(typeof bool);//返回为object
console.log(bool);//null 已被清空false,变为null
var x;
console.log(typeof x);
var arr = [1,2,3];
console.log(typeof arr);//返回为object
console.log(Array.isArray(arr));//返回true为数组,返回false不是数组
(2)= 赋值运算符
赋值运算符用来给变量赋值。
var age = 14;
ps:千万不要认为【赋值运算符】是【数学中的等号】。两者表达的是不同的内容。
(3)== 简要比较运算符(忽略变量类型)
var age = 14;
console.log(age==12);//false
比较运算符的计算结果是一个布尔值。两个变量的比较结果要么是true,要么是false。
至于说忽略变量类型的原因,请看下面的例子:
var number1 = 10;
var string1 = “10”;
console.log(number1==string1);//true
(4)=== 标准比较运算符(计算变量类型)
var age = 14;
console.log(age===14);//true
var number1 = 10;
var string1 = “10”;
console.log(number1===string1);//false
标准比较运算符在比较两个变量的值的时候,既考虑变量的类型是否相等,又考虑变量的值是否相等。但是本质上说标准比较运算符也是比较运算符的一种,只不过比较的标准较严格一些。
算数运算符
1.算术运算符
基本类型 + - * / %
(1)基本功能
var num1=3;
var num2=5;
var result=num1+num2;
var result=num1-num2;
var result=num1*num2;
var result=num1/num2;
var result=num1%num2;
console.log(result);
(2)特殊功能
+:(隐式转换)
a.如果加号两端有一端不是数字,那么先将数字转换为字符串,然后两个字符串拼接
b.如果出现多个加号,按照从左到右的计算规则计算
剩余的算术运算符
a.如果符号两端有一端不是数字,那么先将不是数字的内容转换称数字,在进行计算
b.如果不是数字的内容无法转换成数字,那么结果是NAN (no a number)
2、 算术运算符
类型:++ –
语法:++num num++ --num num–
功能:+1 -1
总结:
a.如果运算符在变量的前边,那么先自增或自减,再使用
b.如果运算符在变量的后边,那么先使用,后自增或自减
赋值运算符
赋值运算符
类型:+= -= *= /= %=
功能:累加
例子:var num=5; num+=3;相当于 num=num+3;
比较运算符
类型:== 、 === 、 !=
总结:
a.如果数字和其他内容比较,那么先将其他内容转换成数字,然后再进行运算
b.布尔转成数字(false是0,true是1),再和数字进行运算
c.布尔和字符串进行比较时,都先转换成数字,再进行运算
例子:
var num1='20';
var num2=10;
var num3=false;
// var result=num1+num3;
console.log(num1<num3);
逻辑运算符
类型:&& || !
语法:
a. && (表达式1)&&(表达式2);
一假即假
b.|| (表达式1)||(表达式2);
一真即真
c.! !(表达式)
三目运算符
语法: 表达式1?表达式2:表达式3;
运算符优先级
初等单目一二级
乘除取余加减移
关系等于不等于
扩展:注释
(1)单行注释:// 一般写在代码的后边
(2)多行注释:/ * … * / (注意多行注释不能嵌套)
(3)文档注释:/ ** … * / 一般写在代码块的前面
ps:不要在使用html中的注释方式来注释js的代码了,两者是不同的。
pss:虽然快速注释的快捷键是一样的,但是需要引起注意。