JavaScript是什么?
是一门脚本语言:不需要编译,直接运行
是一门解释性的语言:遇到一行的代码就解释一行代码;
是一门动态类型的语言:
是一门弱类型的语言:声明变量的时候都使用var —>强类型语言;c#就是;
JavaScript分三个部分
1、ECMAScript标准:JS的基本语法;
2、DOM
3、BOM
JS是用了将近10天发明出来的
变量—->作用:操作数据(存储数据,读取数据);
变量声明:
var 变量名字;
var num;
变量的初始化
var 变量的名字 = 值;
var str = “你好”;
JS是区分大小写的
JS中的字符串可以使用双引号也可以使用单引号;推荐使用双引号
JS中每行代码结束都要有分号;
数据类型:
6种原始数据类型:
-number数据类型:无论是整数还是小数数据类型都是number;
-string数据类型:字符串,获取字符串的长度,变量名.length;
-Boolean数据类型:两个值要么是true要么是false;
-null:数据没太大意义 null—>有意义。 值null;
-undefined:数据没太大意义。值undefined;
-object:对象
-Symbol:(ECAScript 新定义)
NaN:
不是一个数字,不是一个数字和一个数字的计算---->结果是NaN;
1
isNaN:
是不是不是一个数字。判断这个变量或者这个值是不是不是一个数字;
1
类型转换
其他类型转数字
perseInt():其他类型转整数;
perseFloat: 其他类型转小数;
Number():其他类型转数字;要比上面两个严格。
其他类型转字符串
.toString();
String();
其他类型转Boolean
Boolean() ----> 要么是true要么false;
运算符—->操作符
算术运算符: +, -, ,* /, %
复合运算符: +=, -=, /=, %=
一元运算符: ++, --
二元运算符:
三元运算符: ?, :
关系运算符: >, <, >=, <=, ==, ===, !=, !==
逻辑运算符: &&, ||
赋值运算符: =
关系运算符和逻辑运算符的值为布尔型
表达式1 && 表达式2;
如果一个为false,整个的结果就是false。
||-->逻辑或-->或者,
表达式1 && 表达式2;
如果一个为true,整个的结果就是true。
!-->逻辑非-->取反-->取非。
表达式1 && 表达式2;
如果表达式1的结果是true,整个的结果就是false。
如果表达式1的结果是false,整个的结果就是true。
JavaScript 的两个特点
1、单线程
2、解释下语言
执行三部曲
1、语法分析
2、预编译
3、变量 声明提升,函数声明整体提升
预编译发生在函数执行的前一刻。
第一步:创建了一个AO对象。(Acrivation Object)(执行期上下文)
第二步:找形参和变量声明,将变量和形参名作为AO属性名,值为undefined。
第三步:将实参值和形参统一。
第四部:在函数里面找函数声明,值赋予函数体
解释执行
imply global 暗示全局变量:
即任何变量,如果变量未经声明就赋值,此变量就为全局对象(window)所有。(不报错)
window 就是全局的域
var a = 123;
window {
a : 123
}
一切定义到全局变量的量,都属于window所有
JavaScript 语法
JavaScript是一个程序语言。语法规则定义了结构语言。
JavaScript是一个脚本语言。
它是一个轻量级,但功能强大的编程语言。
JavaScript 字面量
在编程语言中,一个字面量是一个常量,如3.14.
数字(number)
字面量可以是整数或者是小数,或者是科学计数(e)。
function myFunction() {
document.getElementById("demo").innerHTML = 123e5;
}
字符串(String)字面量
可以使用单引号或双引号。
function myFunction() {
document.getElementById("demo").innerHTML = "Zhengkai";
document.getElementById("demo").innerHTML = 'Zhengkai';
}
表达式字面量
用于计算。
a = 3;
c = 5;
b = a * c;
console.log(b);
JavaScript 语句标识符
JavaScript 语句同窗以一个语句标识符为开始,并执行该语句。
语句标识符是保留关键字不能作为变量名使用。
下表列出JavaScript 语句标识符(关键字):
语句 描述 备注
break 用于跳出循环。
catch 语句块,在try语句块执行出错时执行catch语句块。
continue 跳过循环中的一个迭代。
do…while 执行一个语句块,在条件语句为true时继续执行该语句块。
for 在条件语句为true时,可以将代码块执行指定的次数。
for…in 用于遍历数组或对象的属性(对数组或对象的属性进行循环操作)。
function 定义一个函数。
if…else 用于基于不同条件来执行不同的动作。