目录
1. 常见的网页效果【表单验证,轮播图。。。】 2. 与H5配合实现游戏
一、JavaScript 发展历史简述
1.javascript是1995年网景公司雇佣布兰登开发的全新语言
2.javascript最初是为了实现浏览器客户端交互
3.ECMAScript与javascript关系
二、JavaScript的应用场景
1. 常见的网页效果【表单验证,轮播图。。。】
2. 与H5配合实现游戏
水果忍者: http://www.jq22.com/demo/html5-fruit-ninja/
3. 实现应用级别的程序
4. 实现统计效果
http://echarts.baidu.com/examples/
5. 地理定位等功能
http://lbsyun.baidu.com/jsdemo.htm#i4_5
6. 在线学编程
https://codecombat.163.com/play/
7. js可以实现人工智能【面部识别】
三、JavaScript的三种书写方式
1.内联式
<!-- 写在 a 标签的 href 属性上 -->
<a href="javascript:alert('我是一个弹出层');">点击一下试试</a>
<!-- 写在其他元素上 -->
<div onclick="alert('我是一个弹出层')">点一下试试看</div>
<!--
注:onclick 是一个事件(点击事件),当点击元素的时候执行后面的 js 代码
-->
2.内嵌式(推荐写在body结尾标签前)
<!-- 在 html 页面书写一个 script 标签,标签内部书写 js 代码 -->
<script type="text/javascript">
alert('我是一个弹出层')
</script>
<!--
注:script 标签可以放在 head 里面也可以放在 body 里面
-->
3.外联式()
建立一个js文件存放,在html页面中引入(一个页面恶意引用多个js文件)
<script src="index.js"></script>
在需要使用的对应位置进行调用
四、注释
1. 单行注释
// 单行注释
2. 多行注释
/*
我是一个多行注释
注释
注释
*/
五、变量
1.变量的命名
命名规则:
1.变量名里面只能包含 数字、字母、下划线_、美元符$、 。
2.使用驼峰命名规则
2.变量的定义
var 变量名
3.变量的赋值
变量名 = 变量值
六、数据类型
1.基本数据类型
数值类型(number)
var num = 100
布尔类型(boolean)
var isDelete = true
字符串类型(string)
var userName = 'jack'
空类型(null)
var student = null
//一般是object类型
未定义类型 (undefined)
var age
//光定义不赋值
2.复杂数据类型
对象类型(object)
函数类型(function)
七、数据类型的判断(typeof)
var num = 100
console.log(type num)
//结果输出为number
var userName = ' jack '
console.log(type userName )
//结果输出为string
var isDelete = false
console.log(typeof isDelete)
//结果输出为boolean
var student = null
console.log(typeof student )
//结果输出为 object 对象
var age
console.log(typeof age)
//结果输出为 undefined 未定义
八、类型之间的转换
1.其他数据类型转换为数值类型
1.Number()
可以把一个变量强制转换成数值类型
var string = '100'
var num = Number(string)
console.log(typeof num)
//返回值为number
可以转换小数,会保留小数
var float = 100.158
var num = Number(float)
console.log(num)
//返回值为 100.158
可以转换布尔值
var isDelete = false
var num = Number(isDelete)
//返回值为 0
/*
false = 1
true = 0
*/
遇到不可转换的都会返回 NaN
var string = 'jack'
var num = Number(string)
console.log(typeof num)
//返回值为 NaN
2. parseInt()
从第一位开始检查,是数字就转换,直到第一个不是数字的内容
var string = 103ssfas182
var num = parseInt(string)
console.log(num)
//返回值为 103
开头就不是数字,那么直接返回 NaN
var string = ssfas182
var num = parseInt(string)
console.log(num)
//返回值为NaN
不认识小数点,只能保留整数
var string = 103.1548
var num = parseInt(string)
console.log(num)
//返回值为 103
3.parseFloat()
从第一位开始检查,是数字就转换,知道一个不是数字的内容
var string = 103ssfas182
var num = parseFloat(string)
console.log(num)
//返回值为 103
开头就不是数字,那么直接返回 NaN
var string = ssfas182
var num = parseFloat(string)
console.log(num)
//返回值为 NaN
认识一次小数点
var string = 103.15487
var num = parseInt(string)
console.log(num)
//返回值为 103.15487
2.其他数据类型转换为字符串类型
.toString()方法(空数据类型和undefined数据类型不能使用)
var num = 50
console.log(typeof num.toString())
String()
var num = boolean/number/null/undefined
String()
//转换后直接在内容外面加一个引号
+ 隐式转换
var num = 10 + 10
console.log(typeof num)
//返回值为number
当有一边为字符类型时,把另外一边的数据强制转换为字符类型,返回一个字符串
var num = 10 + '10'
console.log(typeof num)
3.其他数据类型转换为布尔类型
在 js 中,只有 ' '、0
、null
、undefined
、NaN
,这些是 false,其余都是 true
九、运算符
1.数学运算符
+ 、- 、* 、 / 、 %
除了加号,其他运算符的隐式转换与加号相反,进行运算时将其他类型的数据转换为number类型
2.逻辑运算符(比较后返回的是boolean类型)
&& (与)
同真同假
||
全假为假
!
取反
3.赋值运算符
=
将等号后的数据赋值给前面的变量
var num = 100
4.比较运算符
1. ==
只比较数据值
var num = 100
var string = '100'
console.log( num == string )
//返回值为true
2. ===
既要比较数据值,又要比较数据类型
var num = 100
var string = '100'
console.log( num === string )
//返回值为 false
3.!=
比较符号两边的值是否不等
var num = 100
var string = '100'
console.log( num != string )
//返回值为 false
4.!==
比较符号两边的值和类型是否不等
var num = 100
var string = '100'
console.log( num !== string )
//返回值为 false
5.>
6.<
7.>=
8.<=
9.a+=1 == a=a+1
十、自增、自减
1.++
两种情况
a++、++a
//两者单独运算时,没有区别
//当复合运算时,a++先用原来值进行运算后,再加
//++a 先进行自加再进行复合运算
var num = 10
var num = num++ + 10
console.log(num)
//返回值为20
var num = 10
var num = ++num + 10
console.log(num)
//返回值为21
2.--(与自增同理)