一、js简介 1.js的组成 定义:js由 ECMAScript(JavaScript语法)、Dom(页面文档对象模型)、Bom(浏览器对象模型)三部分组成。
Dom:是一种标准的编程接口,通过Dom提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。
Bom:可以与浏览器窗口进行互动的对象结构,eg:弹出框、控制浏览器跳转、获取分辨率等。
Dom与Bom又属于Web APIs
2.js的书写位置 行内式js 直接写到元素的内部 (js 中推荐单引号) 内嵌式js
外部js (需要引入)
3.js 的输出语句 alert ( )弹出警示框 console.log ( ) 控制台打印输入信息 prompt ( ) 弹出输入框,用户可以输入信息 prompt ( )取过来的值 是字符型的 二、变量 1.变量是什么?变量的本质是什么? 白话讲,变量就是一个容器,用来存放数据的,方便我们以后使用里边的数据 变量的本质就是内存里的一块空间,用来存储数据的 2.变量命名规范 由字母、数字、下划线、$符号组成 严格区分大小写 不能以数字开头 不能是关键字、保留字 变量名最好有意义 eg:age、sex 遵守驼峰命名法(首字母小写,后面字母需要大写) eg:myFirstName 推荐的翻译网站:爱词霸、有道 3.变量的数据类型 Number(整型、浮点型) Boolean(true、false 等价于1 和 0) String(字符串型 带引号) Undefined(声明未赋值 会出现Undefined) Null (声明变量为空值) js中变量的数据类型 是根据 = 右边变量值的数据类型来判断的 记住一句话 在js里 等号就是 把右边给左边!!! 数字型进制:常见二进制、八进制、十进制、十六进制
八进制(0~7):以0开头 逢八进一
eg:010(八进制转为十进制)
计算方法:0*8^2+1*8^1+0*8^0 = 0+8+0=8
十六进制(0~9 和 A~F):以0x开头
数字型三个特殊值:
Infinity 无穷大
-Infinity 无穷小
NaN 代表一个非数值
isNaN( ) 用来判断一个变量是否为非数字的类型,返回true或false (非数字true 否则false) 字符串型String
转义符要包含在 引号 里边
转义符 解释说明
\n 换行符,n是newline的意思
\ \ 斜杠
' ' 单引号
" " 双引号
\t tab 缩进
\b 空格,b是blank的意思
获取字符串长度
var str = 'my name is andy';
console.log(str.length); //长度为 15
字符串的拼接(只要有字符串和 其他类型拼接 最终的结果都是字符串型)
- 总结口诀: 数值相加 字符相连 记住:引引加加 (变量和字符串 相连接的口诀)删掉数字 console.log('白雪' + 18); // '白雪18' console.log('12' + 12); // '1212' console.log(12 + 12); // 24
console.log('我今年' + age + '岁了'); //引引加加 ' '+age+' ' 布尔型Boolean
true 和 false 两个值 true值为1 false值为0 4.数据类型转换 转换为字符串型 方式 说明 案例 toString( ) 转化成字符串 var num = 1;
alert( num.toString() );
String( ) 转化成字符串 var num = 1;
alert( String(num) );
+号 拼接字符串
(隐式转换)
和字符串拼接的结果都是字符串 var num = 1;
alert( num + ' 苹果');
转换为数字型(重点) 方式 说明 案例 parseInt( ) 转换成整数数值型 parseInt('100') parseFloat() 转换成浮点数值型 parseFloat('12.31') Number() 转换为数值型 Number('12') js隐式转换(- * /) 利用算数运算隐式转换为数值型 '12' - 0 转换为布尔型Boolean
代表空、否定的会被转换为false 例如:0、NaN、null、undefined
其余值都会被转换为true
方式 说明 案例
Boolean()函数 其他类型转换成布尔值 Boolean('白雪')
三、运算符
1.递增++ 和 递减-- 运算符
注意:递增和递减运算符 必须 和变量 配合使用
单独使用时 运行结果相同
++a 前置递增 先自加 后返回值(先己后人)
a++ 后置递增 先返回原值 后自加1 (先表达式返回原值参与运算 之后变量本身再自加1)
2.比较运算符
我们程序里边的 等于符号 是 == 默认转换数据类型 会把字符串型的数据转换为数字型 只要求值相等就可以
console.log('18' == 18 ); //true
符号 作用 用法
= 赋值 把右边给左边
== 判断 判断两边值是否相等(注意此时有隐式转换)
=== 全等 值和数据类型 完全相等
3.逻辑运算符(返回值是true 或 false)
逻辑与&& 两侧都为true 结果才是true
逻辑或|| 两侧都为false 结果才是false
逻辑非 !true = false ; !false = true
逻辑运算符 说明 案例
&&
"逻辑与" 简称"与" and true && false || "逻辑或" 简称"或" or true || false ! "逻辑非" 简称"非" not !true 4.逻辑中断(短路运算) 原理:当有多个表达式(值)时,左边的表达式可以确定结果时,就不再继续运算右边的表达式值
逻辑与(表达式1 && 表达式2)
表达式1 为真,返回表达式2 表达式1 为假,返回表达式1 逻辑或(表达式1 || 表达式2)
表达式1 为真,返回表达式1 表达式1 为假,返回表达式2 注意:除了空、否定的为假 例如:0、NaN、null、undefined ,其余值都为真
5.赋值运算符 赋值运算符 说明 案例 = 直接赋值 var age = '18' += 、-=
加、减一个数 后再赋值 age+=5;
相等于 age = age + 5
=、/=、%= 乘、除、取模 后再赋值 age=5;
相等于 age = age * 5
6.运算符优先级 一元运算符里边的 逻辑非优先级很高 逻辑与 > 逻辑或 (优先级) 判断是否能被整除 :取余为0 优先级 运算符 顺序 1 小括号 () 2 一元运算符 ++ -- ! 3 算术运算符 先* / % 后+ - 4 关系运算符 > >= < <= 5 相等运算符 == ! = === ! == 6 逻辑运算符 先&& 后|| 7 赋值运算符 = 8 逗号运算符 ,