javascript
js特点
1.直译式脚本语言
2.一种动态类型,弱类型,基于原型的语言
3.js解释执行,不需要配置环境,可以直接在浏览器运行
4.js语句和语句之间的换行,空格。缩进都不敏感,会忽略多余的空格
js的注释
1.单行注释
//一行注释
2.多行注释
/*多行注释*/
js的几种引入方式
1.内部引入
console.log("内部引入");
2.外部引入
<script src="js/a.js"></script>
3.标签引入(不推荐使用)
<div onclick="alert('hello')"</div>
标识符
就是一个名字,用来对变量,函数,属性等命名
命名规范
1.第一个字符必须是字母,下划线(_)或美元符号($)
2.其他字符可以是字母,下划线,美元,数字
3.不能有空格
4.不能以关键词或保留字命名
变量
变量是存储信息的容器
定义变量使用var声明
js中给变量赋值用等号,等号右边的值赋给左边
var a=20;
console.log(a);
var可以声明多个变量,变量与变量之间用逗号隔开
var a=20,b=100;
console.log(a,b)
变量使用前必须先声明
变量可以不声明,直接赋值并使用,不建议
变量的命名规范
1.第一个字符必须是字母,下划线(_)或美元符号($)
2.其他字符可以是字母,下划线,美元,数字
3.不能有空格
4.不能以关键词或保留字命名
数据类型
可分为原始类型和对象类型,也可分为可变类型和不可变类型
五种原始数据类型N
1.Number (值是数字)
数字字面量:十进制,八进制,十六进制
(1)十进制
最基本的数字
var a=12;
var b=30;
(2)八进制
八进制第一位必须是零后面的数字必须是0~7之间的数,超出范围数值当作十进制解析
var d=0123;
console.log(d)
(3)十六进制
十六进制字面值前两位必须是0x,后跟任何十六进制数字(09和AF)。A~F不区分大小写。
var f=0x123;
var g=0xabc;
2.String类型(字符串)
字符串是存储字符的变量。
字符串的字面量,必须用双引号、单引号包裹起来。字符串被限定在同种引号之间,即必须是成对单引号或成对双引号。
var h="你好";
var i='你好';
双引号内部如果要使用相同的引号,可以使用 \ 反斜杠进行转义:
var m="你是\"狗\"吗?不是'狗'";
反斜杠自己也用反斜杠来转义:
var n="d:\\a\\a.html";
3.Boolean类型(布尔)
布尔(逻辑)只能有两个值:true 或 false。布尔值常用在条件测试中。
var a=true;
var b=false;
4.Undefined类型
使用var声明变量但未对其赋值,这个变量就是undefined。
var a;
console.log(a); //undefined
5.Null类型
从逻辑角度看,null值表示一个空对象指针,所以typeof操作符检测null时会返回“object”。
var a = null;
console.log(typeof a); //object
数据类型检测
console.log(typeof a)
console.log(typeof o)
数据转换
1.Number
属于强制类型转换方法
把变量的值转换为数字,转换的是整个值,而不是部分值。如果变量的值无法转换为数字,那么 Number() 函数返回 NaN。
var str1="123";
var str2="1234a";
console.log(Number(str1)); 123
console.log(Number(str2)); 123
2.parseInt
可解析一个字符串,并返回一个整数。
只有字符串中的第一个数字会被返回。开头和结尾的空格是允许的。如果字符串的第一个字符不能被转换为数字,那么 parseInt() 会返回 NaN
console.log(parseInt("123.8"));123
console.log(parseInt("123a"));123
3.parseFloat
可解析一个字符串,并返回一个浮点数。
开头和结尾的空格是允许的。 如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。 如果只想解析数字的整数部分,请使用 parseInt() 方法。
console.log(parseFloat("123"));123
console.log(parseFloat("123.33"));123.33
4.isNaN
用于检查变量是否是非数字值。
console.log(isNaN(123));false
console.log(isNaN("123"));false
console.log(isNaN("a"));true