9/10/2016 8:40:58 AM
JavaScript
- 借鉴c语言的基本语法
- 借鉴java的数据类型的内存管理
- 借鉴Scheme语言,将函数提升到”第一等公民”(first class)的地位。
- 借鉴Self语言,使用基于原型(prototype)的继承机制
##js组成##
- ecmascript js语法标准
- dom js操作网页上的元素api
- bom js操作浏览器的部分功能的api
js特点
- 简单易用 可以直接使用已封装的方法
- 解释执行 js属于解释执行的语言
- 解释执行
- 代码会立即执行,不需要经过编译
- 编译执行 -源码 编译(.dll) 计算机 执行的是dll文件
- 解释执行
- 基于对象
- 对象的特点
- 继承性
- 封装性
- 多态性
- 对象的特点
js使用范围
- 表单验证
- 网页特效的处理
- 游戏开发
- 服务器程序nodejs
js执行过程中的小原理
- html页面中出现
- 无论当前脚本是内嵌式还是外链式,页面的下载和渲染都必须停下来等待脚本的执行才能继续,这在页面的生命周期中是必须的。
- 例如:
- 通过外链式js文件查看加载速度
js书写位置
- 外联式
- 新建js文件
- 网页引入js文件
- 内嵌式写法
- 在网页中使用script标签设置代码
- 书写位置特点
- 内嵌式写法,推荐将js代码放到body标签之后去执行
- 因为代码是从上往下执行的
- 外联式写法
- 推荐能将合并的js文件合并到一个js文件中访问
- 加载速度问题
js中输出消息的几种方式
1. 在页面中以弹窗的形式显示消息alert(123) 2. 在控制台中显示消息console.log(123) 3. 在网页中显示消息document.write(123)
- 注意: 该方法内可以设置html标签
- 接收用户信息的方法prompt(“请输入您的工号”)
- 配合条件判断显示消息confirm(“您确定提交吗?”)
- 注意: 该方法内可以设置html标签
- 加载速度问题
- 推荐能将合并的js文件合并到一个js文件中访问
注意: 在每一行完整的js代码结束后,请加上分号“;” 所有的特殊符号都是英文输入法的英文符号
- 内嵌式写法,推荐将js代码放到body标签之后去执行
变量(重点)
变量: 用来保存数据的容器。
- 变量的定义: 通过关键字var+变量名==var age; //定义一个变量age
- 变量的贬值: 通过等于号给变量赋值 age=18; //给变量赋值
- alert(age); //查看值
变量
- 变量一次只能保存一个值
- 变量只能保存最后一次赋值的结果
- 区分字母大小写
变量的命名规范
- 不能使用数字或是以数字开头定义命名
- 不推荐使用汉字定义变量
- 不能使用特殊字符或者以特殊字符开头定义变量,下划线和$除外
- 不能使用关键字定义变量
- 不能使用保留字定义变量
- 不推荐定义变量为name,可以改为username
- 变量中间不能出现空格
9/10/2016 2:33:56 PM
数据类型
- 简单类型
- 数字类型Number
- 字符串类型String
- 布尔类型Boolean
- undefiend变量未初始化(变量诶呦赋值)
- 复杂类型
- Object:对象(引用)
- Array:数组
数据类型的作用
-
用来确定变量的值得存储方式
- 数字类型Number
- 变量的值凡是所有的数字,那么该变量的数据类型就是数字类型
- 小数、正数、负数
- 数字类型的其他表示方式:
- 十六进制表示:ox开头,0-9,a-f组成
- 八进制表示:以0开头,0-7开始组成
- 数字类型的取值范围
- 变量的值凡是所有的数字,那么该变量的数据类型就是数字类型
- 字符串类型
- 变量的值,只要是用双引号或是双引号包含起来的。那么该数据的类型就属于字符串类型。(string)
- 字符串的转义字符" 转义成普通的双引号字符(反斜杠)
- " 双引号
- ' 单引号
- \ 一个反斜杠
- \r 回车符
- \n 换行符
- 布尔类型boolean
- 布尔类型中的取值: true false
- 一般通过判断条件的结果是否为true或false,来写逻辑代码。
- undefined类型
- 如果在程序中,定义了变量,但是没给变量赋值,那么给变量的默认值是undefined。
- 同时该变量的数据类型就是undefined类型。
- 算数运算符
- 加 +
- 特点:
- 如果是两个数字类型的变量相加,结果是数字类型的结果
- 如果是非数字类型的变量相加,结果为一个字符串类型的结果。
- 此时的加号,起到的作用是连接的作用。
- 特点:
- 减 -
- 特点:
- 如果是数字类型的变量相减,最后的结果是数字类型。
- 如果是数字类型的字符串相减,最后的结果依然为数字类型的结果。[数据类型的转换(隐式类型的转换)
- 如果是非数字类型的变量相减,结果为NaN(not a number 非数字) 123-“abc”
- 特点:
- 乘 *
- 特点
- 除 /
- 特点
- 如果是数字类型的变量相除,结果为数字类型。
- 如果除数是数字0,结果是无穷大的值,infinity无穷大
- 如果是数字类型的字符串相除,结果为数字类型,由于进行了数据类型的数据转换导致的。(隐式类型转换)123/”abc”
- 如果是数字类型的字符串相除…. 123/”123” =NaN
- 特点
- 取余 %
- 特点
- 获取余数。
- 特点
- 优先级()
- 如果有小括号,程序先执行小括号里面的代码。
- a+=b等
- 加 +
- 比较运算符 ###
- 大于> 小于< >=大于或等于 <=小于或等于
- 通过比较运算符得到的是一个布尔类型的结果。true false
数据类型的判断
- typeof(变量) 获取当前变量的数据类型
123-“abc”
NaN 是 number类型- var a; undefiend 是 undefiend类型
- 100/0 结果是infinity 是 number类型
- IsNaN
- 作用
- 判断一个值是不是一个数字
- 如果isNaN返回的结果是true,代表当前变量不是一个数字
- 日过isNaN返回时一个false,代表当前变量是一个数字
- 123 typeof(123) flase
- “123” typeof(“123”) flase
- 作用
注意
- alert(abc); 会出现... is not defiend,因为计算机中没有这个数据类型
- alert(abc); 把abc看成一个变量
9/10/2016 6:37:55 PM