众妙之门 JavaScript与jQuery技术精粹(上)

相关知识点总结:

//定义一个对象
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.函数和对象需要经过类型校验才可以作为参数传递给其他函数,安全有效。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页