1:window 浏览器对象,浏览器对象window的方法,可以直接调用 比如alert("hello"); 等价于window.alert("hello");
2:document 文档对象
3:undefined 是一种数据类型,值就为undefined,当变量声明了没有定义就应用就返回undefined,类似于java中的空指针。
4:访问对象的熟悉的访问方式可以通过对象["属性名"];
function fn(name,addrss){
this.name = name;
this.address = addrss;
}
var p = new fn('admin’,'成都');
alert(p["admin"]);
5:用for in 可以遍历一个对象的显示的所有熟悉
var p = new fn("admin","成都");
for(var a in p){
alert(a);//可以显示出该对象的所有显示定义的熟悉和方法。
}
6:js定义数组的几种方式
一: var as = new Array();
as.push(111);
as.push(222);
二: var as = new Array(11,22,333);
三: var as = ["123",123,234];
一般直接采用第三种方式,当需要向数组中添加元素的时候可以采用数组的push方法。
7:鼠标移上去加上光标的样式:style="cursor: pointer;" cursor就是光标的意思. pointer:指针
8: gitlab http://yijiebuyi.com/blog/dca6c61d9a7e2d6905c3f75d7bbb8847.html
9:获取数组中某元素索引的方法 indexOf(), lastIndexOf();
10:遍历数组的方法:①:every()方法遍历
②:filter
③:新forEach
④:map
⑤:some 和every的关系就像java里面运算符&& 和 || 之间的关系
⑥:reduce 和reduceRight 这两中方式的回调函数传入的参数和上面5中有些不同,上面五种回调传参是差不多的。
11:{} 对象, [] 数组
12:js中创建一个Object对象的两种方式有: Var o = new Object(); var o = {};
13: for in 遍历对象的属性和方法
14:var a = {name:"ganbo",sex:"man"}; 要删除这个对象中的name属性可以使用 delete a['name'];方法。
15: js中的回调函数:调用一个函数的时候传入一个函数,传入的函数在调用的函数中去调用,这样就可以在内部的回调函数调用的前后做一些事情...
16:Js中的key永远都是不会重复的(利用这点可以去掉数组中的重复项,首先将数组转换为js对象(key,value)的形式,将数组中的元素作为对象的key,然后再将改对象中的key转化为一个
新的数组,这个新的数组就没有重复项了,遍历对象可以用for(var oo in o){}).
17:对js运算符“||”和“&&”的总结:http://wenrunchang123.iteye.com/blog/1749802
18:全局函数之编码:
encodeURI(uri);编码,对应解码decodeURI(uri);
encodeURIComponent(uri);编码,对应的解码decodeURIComponent(uri); 相对上面更常用
19:eval();方法,传入js字符串或者是数组字符串,解析为js代码片段
var a = "alert('hello')"; eval(a);
当字符串是一个对象的时候就要采用这种形式了 var o = "{a:'bb'}"; o = eval('('+o+')');
20:在js里面只有 NaN是不等于他本身的变量
21: js中函数的解析优先于变量的解析. 同时js中也没有重载的概念,相同的函数名后面的回覆盖前面的函数
22:通过new 出来的函数具有顶级作用域: 例如 var a = new Function('return 1'); 这个函数无论嵌套在几层的函数中定义的,其实都是在window的成员函数,也就是相当于在
最外层定义的函数。