ECMAscript标准
1、什么JavaScript?
是一门客户端的脚本语言 , 用来提供与web页面进行交互。 js可以实现: 表单验证 轮播图 放大镜 ..........
web 页面的三层结构: 结构层 html 提供页面结构 表现层 css 美化页面 行为层 js 提升用户体验
2、js的历史背景
布莱登.艾奇 JavaScript诞生于1995年。起初它的主要目的是处理以前由服务器端负责的一些表单验证。在那个绝大多数用户都在使用调制解调器上网的时代,用户填写完一个表单点击提交,需要等待几十秒,完了服务器反馈给你说某个地方填错了......在当时如果能在客户端完成一些基本的验证绝对是令人兴奋的。当时走在技术革新最前沿的Netscape(网景)公司,决定着手开发一种客户端语言,用来处理这种装简单的验证。当时就职于Netscape公司的布兰登·艾奇开始着手计划将1995年2月发布的LiveScript同时在浏览器和服务器中使用。为了赶在发布日期前完成LiveScript的开发,Netscape与Sun公司成立了一个开发联盟。而此时,Netscape为了搭上媒体热炒Java的顺风车,临时把LiveScript改名为JavaScript,所以从本质上来说JavaScript和Java没什么关系。
95 liveScript
java javascript
h5 和 js 的关系 ?
3、javascript的组成?
ECMAscript 欧洲计算机制造商协会 不是一门语言 是一个组织 用来规定js的语法规范
BOM (浏览器对象模型)
DOM (文档对象模型)
4、javascript 代码实现 位置注意
1、所有的js代码都要写在 script 的标签对中
2、 script 标签放到页面的任意位置(除了title中)
3、可以将js的代码写到 .js 文件中 ,通过 <script src="xx.js"></script>,此标签对中的js代码就不会被识别了。
5、javascript的几个输出语句
alert() 通过弹出对话框的方式输出信息 (项目中不建议使用) 一般用于调试
document.write(); 在浏览器中打印结果
console.log(); 控制台输出 一般用于调试中
6、js中的注释
// 单行
/**/ 多行
7、js中的字面量(常量)
数值:
整数:
十进制整数 0---9 组成
二进制整数 0 1
八进制整数 0--7组成 一般以 0 开头 023
十六进制整数 0--9 a--f 一般以 0x 开头
小数:
0.1
1.1 + 0.1 = 1.2
字符:
js中的字符 可以通过 "" 或 '' 括起来
注意引号嵌套问题:
" ' ' " 或 ' " " '
8、js中标识符(变量)的命名规范
1、js中的标识符只能由 字母、数字、下划线、$ 组成(不建议用中文) 2、标识符 不能用 数字 开头 3、不能使用系统指定的关键字命名
命名规范 (扩展): 驼峰式命名法: 小驼峰 qianFengJiaoYu (lastIndexOf()) backgroundColor fontSize。。。 大驼峰 QianFengJiaoYu
匈牙利命名法:
iNum 命名一个整数类型的变量
fNum 命名一个小数类型的变量
cChar 命名一个字符类型的变量
sStr 命名一个字符串类型的变量 (str)
(扩展)代码书写规范:
1、js中的所有代码严格区分大小写 num Num 两个不同的变量 alert() Alert()
2、js中每行语句结束后 可以使用 回车 或 ; 换行
3、js中所有的标点符号 必须使用 英文半角状态
9、js中的变量问题
变量:就是在程序运行的过程中,其值有可能会发生改变的量。
10、变量的定义和赋值
显示定义: 通过 var 定义 var iNum = 90;
隐式定义: 不同var直接就定义变量 iNum = 90;
变量必须先定义 后使用
11、js中输出结果时注意几个问题:
1、如果输出是一个变量 该变量一定不能加引号 ""
2、如果输出是一个字符类型 一定要加引号
3、如果输出的是一个数 ,可以加引号 也可以不加引号
4、如果输出的是字符 和 变量的组合,需要使用 + 拼接
12、变量的数据类型
基本数据类型
字符型 string :
数据值有多个
通过引号引起来
数值型 number :
数据值有多个 (整数和小数)
布尔型 boolean :
数据值 有两个 true false
复合数据类型 对象 object 特殊数据类型 null 空 undefined 未定义
13、(扩展) 测试变量的数据类型
typeof
用法:
typeof 变量名
typeof(变量名)
typeof的返回值有哪些? number boolean string object undefined function
typeof typeof 数据 ---> string
14、运算符和表达式
什么是表达式: 一个字面量或一个变量或通过运算符连接的式子 23 iNum 5+8 什么是运算符:进行运算的符号
运算符有哪些? 每一个运算符对应的表达式的值
15、算术运算符
一、运算符 : (双目)+ - * / %(模运算符) (单目) ++ --
二、表达式的值
- : 1、如果符号两侧都是纯数值类型 正常计算 68 = 48 2、如果符号两侧有一侧是纯数字字符串 纯数字字符串自动转成数值类型 6"3" = 18 "5"*"9" = 45 3、如果符号两侧有一侧是非数字字符串 结果 NaN (not a number) 不能正常计算的结果都是NaN
-
/ % (对应的表达式的值 同 * )
%(求余数): 结果正负 取决于 % 左侧的操作数 5%3 = 2 6%2 = 0 7%10 = 7 100%10 = 0 1235 % 10 = 5
-
: 表示连接 / 计算的加号 10 + "20" = "1020" "abc" + 20 + "10" = "abc2010" 数字 和 字符串相加 表示连接
"20" + 10 - "10" = "2010"-"10" = 2000 结果类型 number
单目运算符: ++ 自增 -- 自减 注意: ++ -- 的操作数必须是变量
var i = 0; 表达式: i++ (后置)
++i (前置) i-- --i++i 和 i++ 的异同: 相同: 变量i的结果都会自增1 不同: 表达式的结果不同 如果++在后,也就是i++, 先将i的值作为整个表达式的值, i再自增 (先赋值,后自增) var i = 10; j = i++; // i = 11 j = 10 (用变量j来代替整个表达式的值) 如果++在前,也就是++i, 先将i自增,再将i的值作为整个表达式的值 (先自增,后赋值) var i = 10; j = ++i; // i = 11 j = 11
4 + true = 5 5 - false = 5
true 和 false 进行运算时,true自动转成1 false 自动转成0
16、关系运算符
一、运算符: > >= < <= ==等于 ===全等于 != 不等于 !== 全不等 二、表达式的值 : true false 如果关系表达式成立,结果为 true 否则为false 3>=3 true 3 == 3 true "3" > 0 true "1" > "a" false "a1" > 20 false
1、如果运算符两侧都是数值型 正常比较 2、如果运算符两侧都是字符型 正常比较 (通过键盘按键的ASCII码值进行比较的 0--48 a--97 A--65) 3、如果运算符两侧有一侧是纯数字字符串 自动转换后正常比较 4、如果运算符两侧有一侧是非数字字符串 不能正常比较 , 结果false
三、 == 和 === 的区别: == 等于 只比较结果值,不比较类型 100 == “100” true 100!="100" false === 全等 先比较类型 在比较结果值 100 === “100” false 100 !== "100" true
17、逻辑运算符
一、运算符 ||或 && 与 ! 非 二、逻辑表达式的值 : true false (一般参与逻辑运算的都是布尔值) &&(并且): 如果&& 两侧都为真,结果为true 地球是方的 && 姚天宇是男生 -- false 地球是圆的 && 姚天宇是男生 --- true 4>5 && 8==8 false
|| ( 或者 ) : 如果 || 两侧都为假 ,结果为false
4>5 || 8==8 true ! 非 : !false --- true !true ----false变量 num 既能被5整除 又能 被3整除 num%5==0 && num%3==0
(扩展)逻辑运算符的短路问题 var num = 10; alert( 3>4 && num++ ); false alert( num ); 10
false 遇到 && ,&& 后面的表达式不再执行
var num = 10; alert( 3< 4 || ++num ); alert( num );
true 遇到 || , || 后面的表达式 不再执行
18、 条件运算符 三目 ? :
一、运算符 ? : 二、表达式的值 表达式1 ? 表达式2 : 表达式3 如果表达式1的结果为真 , 整个条件表达式的值 为表达式2的值 如果表达式1的结果为假, 整个条件表达式的值 为表达式3的值4>5 ? 5==6 : 90 ---------90 4<5 ? 5==6 : 90 ----------false 19、用户输入问题
prompt("用户提升语句",“”)
点击确定,返回输入的数,点击取消 返回null 点击确定返回的结果类型是一个string类型 通过parseInt()