JavaScript
组成:
ECMAScript,描述了该语言的语法和基本对象。
变量,数据类型,运算符,流程( if for …),函数,对象
文档对象模型(DOM),描述处理网页内容的方法和接口。
获取元素,属性,样式,内容
浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。
地址栏,历史记录,属性,
Javascript能干什么
- 数据验证
- 动态操作元素的内容,样式,属性
- 动态的创建或者删除元素
- 模拟动画
- 创建cookies
- ajax
特征:
基于对象和事件驱动的松散型(弱)的解释性语言
对象:一切皆对象,属性和方法的无序集合
事件驱动:当用户的一些操作,浏览器发生的行为,浏览器会有实时的反馈
松散型:变量的声明不需要考虑数据类型和取值范围
var a=2 var b ='ad
一条语句之后;可以不写
引入
嵌入样式
通过
<script></script>
嵌入到页面中的任意位置外部引入样式
步骤:1新建js文件,
外部js文件中不能出现script标签对,嵌入的js,不能写src
可以通过多种方式引入js,共同作用,相互影响,
注
可以刻写到超链接(a标签的href属性中)可以屏蔽掉a标签的默认行为
- 重定向(表格action)
- 事件的后面,
调试工具
警示框alert() 加入汉字或字符串要加”“或”
document.write(‘输出的内容’); 可以识别标签对
console.log(‘输出到控制台’);
注释
- 快捷注释 /要注释的内容/
- 单行的注释 //注释掉一行
变量
- 一个容器,用来存一些数据
变量的命名
声明变量:var 变量名(数字,字母,下划线_,$)
eg:var a=1;
alert(a);
——数字但单独不能作为变量名,不能作开头。数字只能在中间或者后面,
——关键字(被js用掉的单词)不能作为变量名,
——保留字(js现在不用,以后可能会用的单词)不能作为变量名,
——变量名区分大小写,
规范:
——变量名要有意义。
——首字母大写Object/String
——驼峰命名 getElementByld
变量的赋值
先声明后赋值
var a; a=10;
声明的同时进行赋值
var a=10;
一次性声明多个变量,先声明后赋值,用(,)逗号隔开
var a,b,c; a=10;b=20;c=30
一次性声明多个变量同时进行赋值;
var a=10;b=20;cc=30;
变量的注意事项
1变量的默认值(undefined)
2变量新的值会覆盖旧值
3允许变量重复声明
4赋值之前alert可以访问变量,但是没有值(undefined)
5变量不用var修饰,也没赋值,会报错(两个条件都得满足)not defined
6变量不用var修饰,但是赋值了,不会报错,会变成全局变量
变量能存那些数据
内存里的存储位置
数据的类型(2种)
检测变量的数据类型:typeof(变量)
var a;
alert(typeof(a))
初始数据类型(简单数据类型)(栈)5种
栈:读取速度快,容量小,存放初始数据类型
字符串:string=“abcd”
单引号或双引号包起来,单引号双引号可以互相嵌套,不允许单引号嵌套单引号或者双引 号嵌套双引号
不用引号包起来代表一个变量
换行: \n(\ 转义字符) \n \t \b \r \ \”
数据类型 | 值 | 情况 | typeof |
---|---|---|---|
undefined | undefined | 变量默认值,赋值之前 | undefined |
number | 10,8(0o),2(0b),16(0x)进制,科学计数法,特殊值 | number | |
string(字符串) | 用单引号或双引号包起来,单引号双引号可以互相嵌套,不允许单引号嵌套单引号或者双引号嵌套双引号 | string | |
boolean(布尔值) | ture false | boolean | |
null(占位符) | null(什么都没有,只是一个占位符) | object |
复合数据类型(复杂的数据类型)(堆)1种
堆:读取速度慢,容量大,存放复合数据类型
数据类型 | 值 | q情况 | typeof |
---|---|---|---|
object | 属性和方法的无序集合 |
数据能进行哪些操作?
运算符
算术运算符
+ - * / % ++ –
运算符是除了加号之外的,操作数不是数字,返回结果是NaN(not are number)只限于减乘除取余
加号(+):1两边数字 ,进行四则运算
2两边不是数字,出现字符串,进行字符串拼接
取余(%):获取某一范围内的数,判断奇偶性
**常量不能进行++/–运算