js - 对象方式

专题地址:

http://product.kimiss.com/topic/Lancome_GrandioseH5.html

js:

http://wwwcdn.kimiss.net/public/topic/lancome/js/grandiose_h5.js

借鉴之处:

1. 图片全部加载完,再进入专题

2. 变量封装

var APP = {
    init: function(args) {
        this.dTips = $(‘.tips‘);
        this.dWapper = $(‘.bob_main‘);
        this.dSubPages = $(‘.m-page‘);

        this.page = 1;

        this.video = document.getElementById("index_video");
        this.showForm = args.showForm;// 直接显示申请框

        this._bind();
        this._check_screen_size();

        this._PreLoadImg([
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a1_1.jpg‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a1_2.jpg‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a2_1.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a2_2.jpg‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a3_2.jpg‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a4_2.jpg‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a5_1.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a5_2.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p1_1.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p1_2.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p1_3.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p1_play.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p1_skip.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/v_logo.jpg‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_down.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c1_1.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c1_2.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c1_3.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c1_4.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c1_5.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c2_1.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c2_2.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c2_3.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c3_1.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c3_2.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_apply_btn.png‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p1_bg.jpg‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c1_bg.jpg‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c2_bg.jpg‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c3_bg.jpg‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/form_bg.jpg‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/suc_bg.jpg‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/apply_flow_bg.jpg‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/tip-img.jpg‘,
            ‘http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/close.png‘
        ], function() {
            $(‘#spinnerLoad‘).html(‘100%‘);
            $(‘img‘).each(function() {
                var _src = $(this).attr(‘data-src‘);
                if (_src) {
                    $(this).attr(‘src‘, _src);
                }
            });
            $(‘.loading‘).remove();
            if(APP.showForm) {
                $(‘.animation‘).hide();
                APP.dWapper.show();
                $(‘#apppart1‘).hide();
                $(‘#apppart2‘).show();
                $(‘.apply_btn‘).click();
            } else {
                APP._show_animation();
            }
        });
    },
    _PreLoadImg: function(b, e) {
        var c = 0, a = {}, d = b.length;
        for (src in b) {
            a[src] = new Image();
            a[src].onload = function() {
                ++c;
                $(‘#spinnerLoad‘).html(parseInt(c * 100 / d, 10) + ‘%‘);
                if (c >= d) {
                    e(a);
                }
            };
            a[src].src = b[src];
        }
    },
    _show_animation: function() {
        $(‘.animation‘).show();

        this.animate_page = 0;
        this._show_animation_page();
    },
    _show_animation_page: function() {
        $(‘.a‘ + this.animate_page).fadeOut();
        this.animate_page += 1;
        $(‘.a‘ + this.animate_page).fadeIn();
        if (this.animate_page == 6) {
            $(‘.animation‘).hide();
            APP.dWapper.show();
            $(‘#apppart1‘).show();
        } else {
            if (this.animate_page == 5) {
                $(‘.a5_2‘).css({
                    ‘left‘: ‘-200px‘
                });
                $(‘.a5_3‘).css({
                    ‘bottom‘: ‘-400px‘,
                });
                $(‘.a5_4‘).css({
                    ‘bottom‘: ‘-320px‘,
                    ‘left‘: ‘-320px‘
                });
                var is = $(‘.a5 i‘);
                is.css({‘opacity‘: 0});
                setTimeout(function() {
                    $(‘.a5_2‘).animate({
                        ‘left‘: 0
                    });
                }, 200);
                setTimeout(function() {
                    $(‘.a5_3‘).animate({
                        ‘bottom‘: 0
                    });
                }, 600);
                setTimeout(function() {
                    $(‘.a5_4‘).animate({
                        ‘bottom‘: 0,
                        ‘left‘: 0
                    });
                }, 1000);
                setTimeout(function() {
                    is.eq(0).animate({
                        ‘opacity‘: 1
                    });
                }, 1200);
                setTimeout(function() {
                    is.eq(1).animate({
                        ‘opacity‘: 1
                    });
                }, 1400);
                setTimeout(function() {
                    is.eq(2).animate({
                        ‘opacity‘: 1
                    });
                }, 1600);
                setTimeout(function() {
                    is.eq(3).animate({
                        ‘opacity‘: 1
                    });
                }, 1800);
                setTimeout(function() {
                    is.eq(4).animate({
                        ‘opacity‘: 1
                    });
                }, 2000);
                setTimeout(function() {
                    is.eq(5).animate({
                        ‘opacity‘: 1
                    });
                }, 2200);
                setTimeout(function() {
                    APP._show_animation_page();
                }, 3000);
            } else {
                setTimeout(function() {
                    APP._show_animation_page();
                }, 1000);
            }
        }
    },
    _bind: function() {
        var self = this;

        $(window).resize(function() {
            self._check_screen_size();
        });

        $(window).on(‘orientationchange‘, function(event) {
            self.dTips.hide();
            self.dWapper.hide();
            self._check_screen_size();
            if (window.orientation == 0) {
                self.dWapper.show();
            } else {
                self.dTips.show();
            }
        });

        //点击首页视频播放
        $("#show_video_full").click(function() {
            $(".index_video").show();
            self.video.play();
        });

        this.video.addEventListener("ended", function() {
            APP._show_content();
            $.cookie(‘Application‘, 1, {expires: 7});
        }, false);

        //关闭首页视频层
        $(".i_close").on(‘mousedown touchstart‘, function(e) {
            $(".index_video").fadeOut();
            self.video.pause();
        });

        //首页跳过切换
        $(".skip").click(function() {
            $(".p1_2").addClass("fadeOutUp");
            $(".p1_3").addClass("fadeOutDown");
            $(".p1_play").addClass("fadeOut");
            $(".skip").addClass("fadeOut");
            setTimeout(function() {
                $(".p1_1").addClass("fadeOutDown");
            }, 1100);
            setTimeout(function() {
                APP._show_content();
            }, 2000);
        });

        $(‘.c_flow_ok‘).click(function() {
            $(‘#c_apply_flow‘).fadeOut();
        });

        //省市联动
        $(‘#province_select‘).live(‘change‘, function() {
            if ($(‘#province_select‘).val()) {
                var hideid = ‘city_‘ + $(this).val();
                var ncity = $(‘#‘ + hideid).html();
                $(‘#city_select‘).html(ncity);
            }

        });

        var tempVar = "您已提交过申请,通过后会第一时间通知您~~"
        $(‘.submit_btn‘).live(‘click‘, function() {

            if (!isApply) {
                var tryId = $(‘#tryId‘).val();//试用ID
                var productids = $(‘#productids‘).val();
                var pubnametime = $(‘#pubnametime‘).val();
                var name = $.trim($(‘#name‘).val());
                var province = $(‘#province_select‘).val();
                var city = $(‘#city_select‘).val();
                var address = $(‘#address‘).val();
                var phone = $.trim($(‘#phone‘).val());
                var sex = $(‘option[name=sex]:checked‘).val();
                var age = $(‘#Ymd‘).val();
                var fuzhi = $.trim($(‘#fuzhi_select‘).val());
                var xiaofei = $.trim($(‘#xiaofei_select‘).val());
                var content = ‘兰蔻“天鹅颈”睫毛膏 我想要~!‘; //申请感言

                //验证出生日期是否正确
                var YmdStr = age.split(‘-‘);
                var _subY = $.trim(YmdStr[0]);
                var _subM = $.trim(YmdStr[1]);
                var _subD = $.trim(YmdStr[2]);
                //获取当下年份
                var mydate = new Date();
                var _nowYear = mydate.getFullYear(); //获取完整的年份(4位)

                if (name === ‘*请输入姓名‘ || !name) {
                    alert(‘姓名不能为空!‘);
                    return false;
                }
                if (!sex || sex === ‘*选择性别‘) {
                    alert(‘请选择性别!‘);
                    return false;
                }
                if (!_subY || _subY < 1960 || _subY > _nowYear || !_subM || !_subD) {
                    alert(‘请填写正确的生日‘);
                    return false;
                }
                if (phone === ‘*请输入电话‘ || !phone) {
                    alert(‘手机号不能为空!‘);
                    return false;
                } else {
                    reg = /^1([0-9]{10})?$/;
                    if (!reg.test(phone)) {
                        alert(‘请输入正确的手机号!‘);
                        return false;
                    }
                }
                if (!province || province === ‘*选择省份‘) {
                    alert(‘省份不能为空!‘);
                    return false;
                } else {
                    if (!city || city === ‘*选择城市‘ || city === ‘*选择市区‘) {
                        alert(‘城市不能为空!‘);
                        return false;
                    }
                }
                if (!address || address === ‘*请输入详细地址‘) {
                    alert(‘详细地址不能为空!‘);
                    return false;
                }
                isApply = 1;
            } else {
                alert(tempVar);
                return false;
            }

            //ls
            //        $("#c_form_submit").slideUp();
            //        $(‘#c_form_tips‘).show();
            //        return false;
            //ls

            $.post("/index.php?c=Newtry_Detail&a=Post", {
                tryId: tryId,
                productids: productids,
                pubnametime: pubnametime,
                name: name,
                province: province,
                city: city,
                address: address,
                phone: phone,
                sex: sex,
                age: age,
                fuzhi: fuzhi,
                xiaofei: xiaofei,
                content: content,
            }, function(result) {
                if (result == 2) {
                    alert(‘您已提交过申请,通过后会第一时间通知您~~‘);
                    return false;
                } else if (result == 3) {
                    alert(‘请完整填写地址信息‘);
                    return false;
                } else {
                    $("#c_form_submit").slideUp();
                    $(‘#c_form_tips‘).show();
                    return false;
                }
            });

        });

        //点击提交申请成功提示确定按钮
        $(".c_tips_sure").click(function() {
            $("#c_form_tips").slideUp();
            self.page = 1;
            APP._show_content();
        });

        var initP = null
                , moveP = null
                , mousedown = null;
        this.dSubPages.on(‘mousedown touchstart‘, function(e) {
            if (self.moving) {
                return;
            }
            if (e.type == "touchstart") {
                initP = window.event.touches[0].pageY;
            } else {
                initP = e.y || e.pageY;
                mousedown = true;
            }

            self.dSubPages.on(‘mousemove touchmove‘, function(e) {
                e.preventDefault();
                e.stopPropagation();
                if (initP && !self.moving) {
                    if (e.type == "touchmove") {
                        moveP = window.event.touches[0].pageY;
                    } else {
                        if (mousedown)
                            moveP = e.y || e.pageY;
                    }
                }
            });
            self.dSubPages.on(‘mouseup touchend mouseout‘, function() {
                if (moveP && Math.abs(moveP - initP) > 20) {
                    if (moveP > initP) {
                        if (self.page != 1) {
                            self.moving = true;
                            initP = null;
                            moveP = null;
                            self._show_page(self.page - 1);
                        }
                    } else {
                        if (self.page != 3) {
                            self.moving = true;
                            initP = null;
                            moveP = null;
                            self._show_page(self.page + 1);
                        }
                    }
                }

                if (!self.moving) {
                    initP = null;
                    moveP = null;
                }

                self.dSubPages.off(‘mousemove touchmove‘);
                self.dSubPages.off(‘mouseup touchend mouseout‘);
            });
        });
    },
    _show_content: function() {
        $(‘#apppart1‘).hide();
        $(‘#apppart2‘).fadeIn();
        $(‘.page2‘).css(‘top‘, 0).show();
        this.dSubPages.show();
        this._show_page(1);
    },
    _show_page: function(page) {
        this.page = page;
        switch (APP.page) {
            case 1:
                $(‘.p2_c1_1‘).addClass(‘hide‘).removeClass(‘fadeInUp‘);
                $(‘.p2_c1_2‘).addClass(‘hide‘).removeClass(‘fadeInDown‘);
                $(‘.p2_c1_3‘).addClass(‘hide‘).removeClass(‘fadeInDown‘);
                $(‘.p2_c1_4‘).addClass(‘hide‘).removeClass(‘fadeIn‘);
                $(‘.p2_c1_5‘).addClass(‘hide‘).removeClass(‘fadeIn‘);
                $(‘.p2_c1_apply_btn‘).addClass(‘hide‘).removeClass(‘fadeIn‘);
                break;
            case 2:
                $(‘.p2_c2_1‘).addClass(‘hide‘).removeClass(‘fadeInUp‘);
                $(‘.p2_c2_2‘).addClass(‘hide‘).removeClass(‘fadeInDown‘);
                $(‘.p2_c2_3‘).addClass(‘hide‘).removeClass(‘fadeIn‘);
                $(‘.p2_c2_apply_btn‘).addClass(‘hide‘).removeClass(‘fadeIn‘);
                break;
            case 3:
                $(‘.p2_c3_1‘).addClass(‘hide‘).removeClass(‘fadeInUp‘);
                $(‘.p2_c3_2‘).addClass(‘hide‘).removeClass(‘fadeIn‘);
                $(‘.p2_c3_3‘).addClass(‘hide‘).removeClass(‘fadeInDown‘);
                $(‘.p2_c3_apply_btn‘).addClass(‘hide‘).removeClass(‘fadeIn‘);
                break;
        }
        $(‘.apply_btn‘).removeClass(‘animated pulse infinite‘);
        $(‘.page2‘).animate({‘top‘: -APP.sc_h * (page - 1) + ‘px‘}, function() {
            APP.moving = false;
            switch (APP.page) {
                case 1:
                    $(‘.p2_c1_1‘).removeClass(‘hide‘).addClass(‘fadeInUp‘);
                    $(‘.p2_c1_2‘).removeClass(‘hide‘).addClass(‘fadeInDown‘);
                    $(‘.p2_c1_3‘).removeClass(‘hide‘).addClass(‘fadeInDown‘);
                    $(‘.p2_c1_4‘).removeClass(‘hide‘).addClass(‘fadeIn‘);
                    $(‘.p2_c1_5‘).removeClass(‘hide‘).addClass(‘fadeIn‘);
                    $(‘.p2_c1_apply_btn‘).removeClass(‘hide‘).addClass(‘fadeIn‘);
                    break;
                case 2:
                    $(‘.p2_c2_1‘).removeClass(‘hide‘).addClass(‘fadeInUp‘);
                    $(‘.p2_c2_2‘).removeClass(‘hide‘).addClass(‘fadeInDown‘);
                    $(‘.p2_c2_3‘).removeClass(‘hide‘).addClass(‘fadeIn‘);
                    $(‘.p2_c2_apply_btn‘).removeClass(‘hide‘).addClass(‘fadeIn‘);
                    break;
                case 3:
                    $(‘.p2_c3_1‘).removeClass(‘hide‘).addClass(‘fadeInUp‘);
                    $(‘.p2_c3_2‘).removeClass(‘hide‘).addClass(‘fadeIn‘);
                    $(‘.p2_c3_3‘).removeClass(‘hide‘).addClass(‘fadeInDown‘);
                    $(‘.p2_c3_apply_btn‘).removeClass(‘hide‘).addClass(‘fadeIn‘);
                    break;
            }
            setTimeout(function() {
                $(‘.apply_btn‘).addClass(‘animated pulse infinite‘);
            }, 2000);
            APP._animate_down();
        });
    },
    _animate_down: function() {
        clearTimeout(APP.timer);
        clearTimeout(APP.fn_timer);
        if (this.page == 3) {
            return;
        }
        APP.timer = setTimeout(function() {
            APP._animate_down_fn();
        }, 2600);
        $(‘.p2_down‘).stop().css({‘opacity‘: 0});
    },
    _animate_down_fn: function() {
        var _bot = 20 - APP.sc_h * (APP.page - 1);
        if (APP.page == 3) {
            return;
        }
        $(‘.p2_down‘).css({
            ‘bottom‘: _bot + ‘px‘,
            ‘opacity‘: 1
        }).animate({
            ‘bottom‘: _bot - 10 + ‘px‘,
            ‘opacity‘: 0
        }, 1200, function() {
            clearTimeout(APP.fn_timer);
            APP.fn_timer = setTimeout(function() {
                APP._animate_down_fn();
            }, 1000);
        });
    },
    _check_screen_size: function() {
        if (document.compatMode == "BackCompat") {
            var Node = document.body;
        } else {
            var Node = document.documentElement;
        }
        var page_w = Math.max(Node.scrollWidth, Node.clientWidth),
                page_h = Math.max(Node.scrollHeight, Node.clientHeight);

        this.sc_w = page_w;
        this.sc_h = page_h;

        this.dTips.css({
            ‘width‘: this.sc_w + ‘px‘,
            ‘height‘: this.sc_h + ‘px‘
        });

        this.dSubPages.css({
            ‘width‘: this.sc_w + ‘px‘,
            ‘height‘: this.sc_h + ‘px‘
        });
        if(this.sc_h <= 480){
            $(‘.a1 img, .a2 img, .a3 img, .a4 img, .page2 p‘).css({
                ‘left‘ : ‘22px‘,
                ‘width‘ : ‘85%‘
            });
            $(‘.page2 table‘).css({
                ‘top‘ : ‘4%‘,
                ‘line-height‘ : ‘26px‘,
                ‘font-size‘ : ‘16px‘
            });
        }
    }
};

$(document).ready(function() {

    var args = {};
    //referer 回来的请求直接打开申请页面
    var isStr = document.URL.split(‘?‘)[1];
    if (isStr) {
        var ReStr = isStr.split(‘=‘);
        if (ReStr[0] === ‘isReferer‘ && ReStr[1] === ‘yes‘) {
            args.showForm = 1;
        }
    }

    APP.init(args);

});
时间: 2024-11-06 00:02:51

js - 对象方式的相关文章

js对象的创建方式

js对象的创建方式: js也具有OOP编程思想,了解js对象,可以进一步了解js是如何面向对象编程的. js的创建对象方式: 1.   Object var a=new Object();a.name="jack";a.age=20;a.sayName=function () { console.log(this.name);} a.sayName();//打印jack 2.  字面量 var b={name:"rose",age:20,sayName:functi

js 对象的创建方式和对象的区别

js一个有三种方法创建对象,这里做一个总结. 1.对象直接量 所谓对象直接量,可以看做是一副映射表,这个方法也是最直接的一个方法,个人比较建议, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 //创建简单对象 var obj1 = {}; //空对象 var obj2 = {   name: "ys",   age: 12 }; //创建复杂对象 var obj3 = {   name: "ys",   age

JS对象继承的几种方式总结

今天学习了一下js的继承,js中的继承主要分四种,原型继承,构造函数继承,call/apply继承以及es6的extend继承.1.原型继承:原型继承主要利用js对象的prototype引用父类的构造函数来复制父类的方法. //定义一个Person类 function Person(name){ this.name=name; } //打招呼 Person.prototype.sayHello=function(){ alert("Hello,my name is "+this.nam

js对象 对属性调用.和[] 两种方式遇到过得区别

1   .标准格式是对象.属性(不带双引号)     注意一点的是js对象的属性,key标准是不用加引号的,加也可以,特别的情况必须加,如果key数字啊,表达式啊等等,加引号是为了将其视为整体,认识一点:从对象角度,属性是不加引号的,如name,"name"这是啥,属性不可能是“name”, 所以即使加了双引号,对象调用时还是要去掉引号的 2   []标准格式是对象["属性"]记住属性都是没有引号的,这种方式访问属性上必须有引号 论证一点不管key带不带引号,从对象

js对象中属性调用.和[] 两种方式的区别

JS 调用属性一般有两种方法——点和中括号的方法. 标准格式是对象.属性(不带双引号),注意一点的是:js对象的属性,key标准是不用加引号的,加也可以,特别的情况必须加,如果key数字啊,表达式啊等等. 加引号是为了将其视为整体,认识一点:从对象角度,属性是不加引号的,如name,"name"这是啥,属性不可能是“name”,所以即使加了双引号,对象调用时还是要去掉引号的 例如 使用.方法 var obj = { name: "cedric" } console.

DOM对象和js对象以及jQuery对象的区别

一.DOM对象 文档对象模型简称DOM,是W3C组织推荐的处理可扩展置标语言的标准编程接口. DOM实际上是以面向对象方式描述的文档模型.DOM定义了表示和修改文档所需的对象.这些对象的行为和属性以及这些对象之间的关系. 通过DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性.可以对其中的内容进行修改和删除,同时也可以创建新的元素. HTML DOM 独立于平台和编程语言.它可被任何编程语言诸如 Java.JavaScript 和 VBScript 使用. DOM对象,即是我们用

js对象浅拷贝和深拷贝详解

js对象浅拷贝和深拷贝详解 作者:i10630226 字体:[增加 减小] 类型:转载 时间:2016-09-05我要评论 这篇文章主要为大家详细介绍了JavaScript对象的浅拷贝和深拷贝代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文为大家分享了JavaScript对象的浅拷贝和深拷贝代码,供大家参考,具体内容如下 1.浅拷贝 拷贝就是把父对像的属性,全部拷贝给子对象. 下面这个函数,就是在做拷贝: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 var

js对象字面量属性间相互访问的问题 和 这个问题与执行环境的关系

对象字面量属性间无法相互访问的问题: 我曾经在定义一个对象时, 并出于复用性的考虑试图复用某些属性: // test 1 var person = { firstName : "Bill", lastName : "Gates", fullName : firstName + " " + lastName // 这里报错 } alert(person.firstName); alert(person.lastName); alert(person

JS对象和类

JS对象类别 内置对象 如Array Date Function 宿主对象 比如浏览器中的window 自定义对象 用户在代码中创建的 对象的构成 属性 按继承区分 自有属性 继承属性 对象原型中定义的属性 按类别分 数据属性 存取器属性 var o = { get name() {}, set name(value) {}, } 三个对象特性 对象原型 prototype 对象的类 class 对象的拓展标记 属性特性 数据属性特性 value,writable,enumerable,conf