一、JavaScript概述
JavaScript是一种运行于JavaScript解释器/引擎中的解释型脚本语言。
解释型:运行之前不需要编译;运行之前不会检查错误,直到碰到错误为止。
编译型:对源码进行编译,还能检查语法错误。如C、C++。
- 运行环境
1、独立安装的JS编辑器(Node JS)
2、嵌入在浏览器内核中的JS解释器
- 使用场合
PC机、手机、平板、机顶盒等。
- JS组成
1、核心(ECMAScript)
2、文档对象模型(DOM,Document Object Model)
让JS有能力与网页进行对话。
3、浏览器对象模型(BOM,Brower Object Model)
让JS有能力与浏览器进行对话。
- JS特点
1、开发工具简单,记事本即可
2、无需编译,直接由JS引擎负责执行
3、弱类型语言,由数据来决定数据类型
4、面向对象
二、JavaScript基本语法
JS运行环境
- Node JS
- 嵌入在浏览器内核中的引擎
a.直接在浏览器Console中输入并执行JS
b.将JS脚本嵌入在HTML页面中执行
1、将JS代码嵌入在元素“事件”中
onlick:单击元素时所做的操作
<div id="header" onlick="JS代码"></div>
2、将JS代码嵌入在<script>标签中
<script>标签对允许出现在任意位置。
<script>
JS代码;
</script>
3、将JS代码写在外部脚本文件中
先创建JS文件,编写JS代码(xxx.js),在HTML代码中引入js文件。
<script src="js文件路径"></script>
注:<script>标签中若引入了js文件,则标签对中不允许出现任何js代码。即使出现了,也不会被运行。
JS语法规范
1、语句 允许被JS引擎所解释的代码。
- 使用分号来进行结束。
- 大小写敏感。
- 使用英文标点符号。
- 由表达式、关键字、运算符组成。
console.log(); //正确
Console.log(); //错误
console.log(); //错误
2、输出
- 页面输出
document.write();
- 控制台输出
console.log();
- 弹出窗口输出
alert("警告文本");
3、注释
- 单行注释 //
- 多行注释 /* */
三、变量
内存和变量
内存:保存程序在运行过程中,所需要用到的数据。
变量:内存中的一段存储空间。
名:内存空间的别名,可以自定义。
值:保存在内存空间中的数据。
变量的声明
var 变量名1;
变量名1=值1; //给声明的变量赋值
var 变量名2=值2; //声明并直接赋值
var 变量名3=值3,变量名4=值4,...变量名n=值n; //一次性声明多个变量并赋值
注:声明过程中,尽量不要省略var关键字,否则声明的是“全局变量”。
在console.log()或document.write()中要输出变量,使用变量名取代""。
var age=18;
console.log(age); //输出18
console.log("age"); //输出age
变量名的命名规范
- 不允许使用JS的关键字和保留关键字
- 由字母、数字、下划线、$组成,不能以数字开头
- 尽量见文知意
- 可以采用“驼峰命名法”,即变量名为合成词时,第一个单词全小写,从第二个单词开始,每个单词首字母大写;如果只有一个单词作变量名,全小写。如age,stuName,stuScore等。
四、数据类型
- number类型 可以表示32位整数或64位浮点数。
- string类型 表示一系列文本字符数据,由Unicode中字符、数字、标点组成,各占2字节。
- boolean类型 用于表示条件的结果。取值:true为真,false为假。除条件判断外,做运算时,ture可以当做1运算,false可以当做0运算。
- null类型 声明对象未赋值。
- undefined类型 对象未赋值或对象不存在。
数据类型转换
- 隐式转换
即自动转换,JS在运算过程中,自己进行转换的操作,不需人为参与。
typeof(数据)或typeof 数据:判断一个值的数据类型。
console.log(typeof(111));
console.log(typeof 222);
console.log(typeof "123");
运行结果:
- 强制转换(转换函数)
toString() 将任意类型的数据转换为string类型。
var num=15;
console.log(typeof num);
num=num.toString();
console.log(typeof num);
运行结果:
parseInt() 获取指定数据的整数部分。
注:从左至右依次转换,遇到非整数字符停止。若第一个字符就是非整数字符,则返回NaN(Not a Number不是一个数字)。
var num1=parseInt(123.456);
console.log(num1);
var num2=parseInt("你好123");
console.log(num2);
运行结果:
parseFloat() 将指定数据转换为小数。
var num1=parseFloat("12.3你好");
console.log(num1);
var num2=parseFloat("你好12.3");
console.log(num2);
运行结果:
Number() 将一个字符串解析为number类型。一旦包含非数字字符,返回NaN。
console.log(Number("123"));
console.log(Number("123你好"));
运行结果:
五、运算符和表达式
运算符:能够完成数据计算的一组符号。
表达式:由运算符和操作数所组成的式子,每个表达式都有自己的值。
算术运算符
+ | 加法(也可用于字符串连接) |
- | 减法(也可表示负号) |
* | 乘法 |
/ | 除法 |
% | 求余(也称为模) |
++ | 自增 |
-- | 自减 |
注:i++:先使用i的值,再使i的值+1。++i:先使i+1,再使用i的值。i--和--i同理。
关系运算符
> | 大于 | < | 小于 |
>= | 大于等于 | <= | 小于等于 |
== | 等于 | != | 不等于 |
=== | 全等 | !== | 不全等 |
注:==只比较数值,不比较数据类型,而===要比较数据类型。
判断一个数据是否是数字:isNaN()。抛开数据类型来判断数据是否是数字。若是数字,返回false,若不是,返回ture。
逻辑运算符
&& | 逻辑与 |
|| | 逻辑或 |
! | 逻辑非(单目运算符) |
注:&&若第一个表达式为false,则不会判断第二个表达式。若第一个为true,则继续判断第二个,并以第二个的值作为表达式的值。
||若第一个表达式为true,则不会判断第二个表达式。若第一个为false,则继续判断第二个,并以第二个的值作为表达式的值。
条件运算符
表达式1?表达式2:表达式3;
表达式1是一个条件判断,若结果为true,则执行表达式2,若结果为false,则执行表达式3。
六、函数
函数是一段预定义好,并可以被反复使用的代码块。
预定义好:事先声明好,但不被执行。
反复使用:允许被多个地方运用。
函数的定义
function 函数名(){
可执行语句;
}
函数的调用
函数名() ; //任何JS的合法位置处,都允许调用函数
定义函数的参数和返回值
-
带参数函数
function 函数名(参数列表声明){ //参数列表由一个或多个变量名称组成
代码;
}
-
带返回值的函数
function 函数名(0或多个参数){
代码;
return 值;
} //调用此函数:var 变量=函数名(参数);
作用域
变量或函数可访问的范围。
- 函数作用域 只在当前函数可访问。函数作用域中的变量为局部变量。
- 全局作用域 代码的任何位置都可以访问。全局作用域中的变量为全局变量。
声明提前
JS在正式执行之前,会将所有var声明的变量和function声明的函数,预读到作用域的顶部,但是对变量的赋值仍停留在原处。
console.log(a);
var a=100;
console.log(a);
等价于:
var a;
console.log(a);
a=100;
console.log(a);
运行结果:
按值传递
传参时,将实参复制给形参,在函数体内修改变量,不会影响到外部的实参变量。
var a=10;
function sum(a){
a=a-1;
console.log(a);
}
sum(a);
console.log(a);
运行结果:
标签:console,log,预习,JS,var,蓝旭,表达式,函数 From: https://blog.csdn.net/2301_80479127/article/details/137410509