相关知识点总结:
//定义一个对象
var car = {
color:'red'
wheels:4
hubcaps:'spinning'
age:4
}
//定义一个数组
var movie = [
'harrypotter','hero','X-men'
]
//三重标记法
var direction = x<200?1 : -1
//定义json数据,json是浏览器运行中描述复杂数据最轻松的方式
var band = {
'name':'potter',
'members':[
{
'name':'A'
'role':'L'
},
{
'name':'B'
'role':'M'
}
],
'year':'2015'
}
//寻找列表中最大的值
var numbers = [3,54,4646,223,12];
numbers.sort(function(a,b){return b-a});
max1 = numbers[0];
//寻找数组中最大值
max3 = Math.max(12,23,34,52,12);
//也可以用来测试浏览器支持的默认属性,因为只有一个属性有返回值,另一个将是未定义,这样不会出错
var scollTop = Math.max(
doc.documentElement.scrollTop,
doc.body.scrollTop
);
//为DOM元素中添加一个类
function addclass(elm,newclass){
var classes = elm.className.split(' ');
classes.push(newclass);
elm.className = classes.join(' ');
}
//为一类元素添加动作
<ul id="resources">
<li><a href="http://1">1</a></li>
<li><a href="http://2">2</a></li>
<li><a href="http://3">3</a></li>
<li><a href="http://4">4</a></li>
<li><a href="http://5">5</a></li>
</ul>
(function(){
var resources = document.getElementById('resources');
var links = resources.getElementByTagName('a');
var all = links.length;
for(var i=0;i<all;i++){
links[i].addEventListener('click',handler,false);
};
function handler(e){
var x = e.target;
//阻止链接自动跳转
e.preventDefault();
};
})();
//或者
(function(){
var resources = document.getElementById('resources');
resources.addEventListener('click',handler,false);
function handler(e){
var x = e.target;
if(x.nodename.toLowerCase()=='a'){
e.preventDefault();
}
}
}
)();
//JS中,任何在函数外定义的变量、函数、数组和对象都是全局的,即其他脚本都可以进行调用
//模块模式或单例模式:避免全局变量
var myApplication = function(){
var name = 'Chris';
var age = 'age';
return{
creatMember:function(){
……
},
getMemberDetail:function(){
……
}
}
}();
myApplication.creatMember()
//另一种方式,调用时使用别名
var myApplication = function(){
var name = 'Chris';
var age = 'age';
function creatMember(){
creatMember:function(){
……
},
function getMemeberDetails(){
……
}
return{
creat:creatMember,
get:getMemberDetails
}
}();
myApplication.get()
1.让别人使用自己的JavaScript时,最好增加一个配置文件,让别人可以在其中修改全局信息。
2.与后台交互,如果使用Ajax,最好有缓存和json转换机制,可以节约大量的时间和精力。
3.函数和对象需要经过类型校验才可以作为参数传递给其他函数,安全有效。