js位置
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>js代码位置</title>
<script type="text/javascript" src="link.js"></script><!-- 外部引入 -->
</head>
<body>
<a href="javascript:void(0);" onclick="alert(2)" >点我</a>
<a href="javascript:alert(3);">点我</a>
<a href="javascript:;" onclick="alert(1)">点我</a>
<a href="#" onclick="alert(1)">href加# 会跳到当前页的顶部</a>
</body>
</html>
如何定义一个函数??
function 函数名(参数1,参数2){
//代码
return 返回值;
}
如何调用函数??
函数名(参数1,参数2); --> 注意:js中只要一遇见函数名()就会调用
window.函数名(参数1,参数2);
window["函数名"](参数1,参数2); //动态调用 在js中 . 可被 [] 代替
ex:
<script type="text/javascript">
function main(a,b){
alert(0)
return a+b;
}
main();//调用函数
</script>
变量提升:js执行先会进行一次读取,然后把所有的变量的声明放到最前面
valName is not defined --> 表示变量未声明
<script type="text/javascript">
var valName;
console.debug(valName); //undefined
valName="11";
</script>
函数中特殊对象arguments
JavaScript会自动产生一些特殊对象相当于js的内置对象,不需要我们创建,当我们执行一个方法的时候,js会自动创建一个arguments对象,arguments对象:包含了本次调用函数时传入的所有参数。(该对象为相当于一个伪数组)
方法的重载:方法名相同,参数的类型或者参数的个数不一样
js中没有重载,后面的函数会覆盖前面的函数 --> 尽量不要出现名称相同的函数
js中true和false的判断??
js 中所有值的真假性: 0,"",undefined,NaN,null,false(基本数据类型的false)为false,其他值都为true.
js面向对象:
如何创建对象?
①var obj = new 类();
②var obj = { ... }; --> json
如何添加属性/方法? --> 对象.属性名 = 属性值;
如何删除属性? --> delete 对象.属性名;
如何获取属性值? --> 对象.属性名
js如何迭代/遍历对象成员?? --> for(var 属性名 in 对象){ ... }
js如何创建类??
js如何定义一个类??
回调函数 --> 一个通过函数(对象)引用调用的函数
如果你把函数的引用(地址)作为参数传递给另一个函数,当这个引用被用来调用其所指向的函数时,我们就说这是回调函数。
匿名函数 --> 作用:可以包含一段代码,然后直接调用执行,避免产生全局变量。
闭包: --> 函数中可以使用函数之外定义的变量 (即一种封装特性)
用法1:函数中可以使用函数之外定义的变量。
用法2:通过闭包实现只读属性 实现计数器
事件命名空间 --> 只监听一次点击事件,然后取消监听
click事件名称.manager命名空间
、
事件继承:
简单jquery插件 --> jQuery.fn.方法名 = function(){ ... }