前端——Javascript
目录
六、重点操作
6.1 Javascript——dom 和 bom , Cookies
一、简介:
- 基于对象和事件驱动的语言,应用于客户端
- 基于对象:提供好了对象,可以直接拿过来使用
- 事件驱动:html做网站静态效果,js动态效果
- 客户端:专门指的是浏览器
二、特点:
- 交互性(信息的动态交互)
- 安全性(不可以直接访问本地硬盘)
- 跨平台性(只要支持js的浏览器,都可以运行)
三、组成:
- ECM
- BOM 浏览器对象模型
- DOM 文档对象模型
四、与html的结合方式
- 使用一个标签 <script type="text/javascript"></script>
- 引入外部的文件<script type="text/javascript" src="被引用的js文件路径"></script>
注意:使用该方式的时候,就不要在js标签里面写js代码,不会执行
DHTML 是很多技术的简称
html : 封装数据
css : 使用属性和属性值设置样式
dom :操作html文档
js : 专门指的是js的语法语句
五、语法:
5.1 变量
var : 声明变量
type(变量名称) 查看变量的数据类型
5.1 逻辑语句:
if语句
if 语法:
if(条件表达式1){
代码块1;
}else if(条件表达式2){
代码块2;
}else{
代码块3;
}
switch语句
语法:
switch(条件表达式){
case 标签1:
代码段;
break;
case 标签2:
代码段;
break;
...
default:
代码块N;
}
while 系类语句
while 语法:
while(条件表达式){
循环执行代码块
}
时机:先检查条件,在执行循环 条件不满足则循环一次也不执行
do-while 语法:
do{
循环执行的代码块
}while(条件表达式);
时机:希望一个动作至少被执行一次时
for循环语句
for 语法:
for(循环变量 = 初值;循环条件;递增/递减计数器){
循环代码块
}
for-in 语法:
for(声明变量 in 对象){
循环代码块
}
// 两个拿到的都是索引,需要根据索引在取值
跳转语句:
return | break | continue
异常处理语句:
throw 主动抛出异常
try
指明需要处理的代码块
catch 捕获异常
执行代码块
finally
后期处理
5.2 运算符:
算术运算符
+ - * / % += -= *= /= %=
i++ ++i i-- --i
关系运算符
< > <= >=
== != (比较的是返回值)
=== !== (比较的是返回值及数据类型)
比较原则:
null 与 undefined 相等
NaN 与任何数值都不想等包括其自身
对象 是否属于同一对象
对象运算符:
in 判断左侧运算数是否为右侧运算数的成员
instanceof 判断对象实例是否属于某个类或构造函数
new 根据构造函数创建一个新的对象,并初始化该对象
delete 删除指定对象的属性,数组元素或变量
. 及 [] 存取对象和数组元素
() 函数调用,改变运算运算符优先级等
逻辑运算符:
!逻辑非
&& 与 短路操作
|| 或
位运算符:
空
其他运算符:
三元运算符 var ret = a > b ? a : b;
typeof 类型判定运算符
, 在一行语句中执行多个不同的操作
void 舍弃运算数的值,返回undefined作为表达式的值
引入知识:
直接向页面输出的语句: document.write();
arguments对象:
功能:存放实参的参数列表
属性:
length:获取函数实参的长度
callee:返回当前正在只想的的函数
caler: 返回调用当前正在执行函数的函数名
function myFunction(a, b) { return arguments.length; }
js的重载(面试):
1)js中不存在重载
2)js中可以模拟实现重载的效果,js中的参数都存在 arguments 这个数组里面。用if-else来模拟
if(arguments.length == 2){ return arguments[0]+arguments[1]; }else if(arguments.length == 3){ return arguments[0]+arguments[1]+arguments[2];