JavaScript的组成
JavaScript是解释性语言,解释一行执行一行
1.ECMAScript —————规定了JS的编程语法和基础核心知识
2.DOM————文档对象模型(通过 DOM 提供的接口可以对页面上的各种元素进行操作,如大小)
3.BOM————浏览器对象模型(可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率)
JS的三种引用方式
推荐使用单引号
1.行内式 :在标签中加入添加以on开头的属性,如onclick,可读性差,特殊情况使用
2.内嵌式 :将js代码写在script 标签之中
3.外部js文件: <script src="my.js"></script>
引用外部js,中间不可写代码
JS注释
单行注释 // ctrl+/
多行注释 /*ctrl+ shift+/
JS输入输出语句
prompt( ) 浏览器弹出输入框,用户可以输入
alert( ) 浏览器弹出警示框,展示给用户
console.log( ) 打印输出信息
JS变量
变量:就是一个容器,用来存放数据
变量的本质:是程序在内存中申请一块用来存储数据的空间
变量的使用:声明 、赋值 、初始化
// 变量的初始化
var age = 18,name = 'xy';//可同时声明多个变量,
变量被重新赋值之后,值会覆盖,以最后一次赋值为准
只声明不赋值————undefined
不声明不赋值————报错
不声明只赋值————可以,不提倡
变量的规范使用:
- 由字母(A-Za-z)、数字(0-9)、下划线(_)、美元符号( $ )组成,如:usrAge, num01, _name
- 严格区分大小写。var app; 和 var App; 是两个变量
- 不能 以数字开头。 18age 是错误的
- 不能 是关键字、保留字。例如:var、for、while
- 变量名必须有意义。 MMD BBD nl → age
- 遵守驼峰命名法。首字母小写,后面单词的首字母需要大写
交换两个变量需要声明一个中间变量
JS 数据类型
JS把数据类型分为两类:
- 简单数据类型(Number,String,Boolean,Undefined,Null)
- 复杂数据类型(object)
数字型(Number):
- 既可以是整数也可以是小数
数字型进制:
最常见的有二进制(0-1)、八进制(0 -7)、十进制、十六进制(0-9以及A-F)
数字型范围:
JavaScript中数值的最大值和最小值:
最大值:Number.MAX_VALUE
1.7976931348623157e+308
最小值:Number.MIN_VALUE
5e-32
数字型三个特殊值:
Infinity
,代表无穷大,大于任何数值-Infinity
,代表无穷小,小于任何数值NaN
,Not a number,代表一个非数值
isNaN:用来判断一个变量是否为非数字的类型,是则返回 true 或者 false
字符串型( String):
-
字符串型可以是引号中的任意文本,其语法为 双引号 " " 和 单引号’ ’
-
JS 可以用单引号嵌套双引号 ,或者用双引号嵌套单引号 (外双内单,外单内双)
转义字符串:
\n 换行 \t 缩进 \b 空格 \ \ 斜杠
字符串长度:
- 通过字符串的
length
属性获取字符串的长度
var strMsg = "我是帅气多金的程序猿!";
alert(strMsg.length); // 显示 11
字符串拼接:数值相加 ,字符相连
-
多个字符串之间可以使用 + 进行拼接,其拼接方式为 字符串 + 任何类型 = 拼接之后的新字符串
-
拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串
-
经常会将字符串和变量来拼接,变量可以很方便地修改里面的值
-
变量是不能添加引号的,因为加引号的变量会变成字符串
-
如果变量两侧都有字符串拼接,口诀“
引引加加
”,删掉数字,变量写加中间
布尔型(Boolean):
- 布尔类型有两个值:true(对) 和 false(错)
- 布尔型和数字型相加的时候, true 的值为 1 ,false 的值为 0
获取变量数据类型:
typeof 可用来获取检测变量的数据类型
var num = 18;
console.log(typeof num) // 结果 number
字面量
字面量是在源代码中一个固定值的表示法,通俗来说,就是字面量表示如何表达这个值。
JS数据类型转换
转换为字符串类型:
- 变量.toString()
- String(数据)
- 隐式转换用加号进行字符拼接:数据+空字符串
// 1. 把数字型转换为字符串型 变量.toString()
var num = 10;
var str = num.toString();
console.log(str);
console.log(typeof str);
// 2. 我们利用 String(变量)
console.log(String(num));
// 3. 利用 + 拼接字符串的方法实现转换效果 隐式转换
console.log(num + '');
转换为数字型:
- parseInt:把其他数据类型转换为整数
- parseFloat:把其他数据类型转换为小数
- Number()强制转换函数
- js隐式转换(- * /),利用运算符隐式转换为数值型
//1. parseInt(变量) 可以把 字符型的转换为数字型 得到是整数
console.log(parseInt('3.14'));// 3 取整
console.log(parseInt('120px')); // 120 会去到这个px单位
console.log(parseInt('rem120px')); // NaN
//2. parseFloat(变量) 可以把 字符型的转换为数字型 得到是小数 浮点数
console.log(parseFloat('3.14')); // 3.14
//3. 利用 Number(变量)
var str = '123';
console.log(Number(str));
console.log(Number('12'));
// 4. 利用了算数运算 - * / 隐式转换
console.log('12' - 0); // 12
转换为布尔型:
使用方法 :Boolean(数据)
- 代表空、否定的值会被转换为 false ,如 ‘’、0、NaN、null、undefined
- 其余值都会被转换为 true
Undefined和 Null
//一个声明后没有被赋值的变量会有一个默认值undefined ( 如果进行相连或者相加时,注意结果)
var variable;
console.log(variable); // undefined
console.log('你好' + variable); // 你好undefined
console.log(11 + variable); // NaN
consol
//一个声明变量给 null 值,里面存的值为空
var vari = null;
console.log('你好' + vari); // 你好null
console.log(11 + vari); // 11
console.log(true + vari); // 1
关键字、保留字、标识符
标识(zhi)符
:就是指开发人员为变量、属性、函数、参数取的名字,不能是关键字和保留字
关键字
:是指 JS本身已经使用了的字,不能再用它们充当变量名、方法名。
保留字
:实际上就是预留的“关键字”