js35

简介:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script type=text/javascript charset=utf-8>

///-------------------------------------------------------------------
        function Person(age,name){//类的定义,还没有运行起来
            this.name = name;
            if(!this.checkAge(age)){//写可以这样写,运行是确定this
                throw new Error("年龄必须在0到150之间");
            }
            this.age = age;
        }
        Person.prototype = {
            checkAge:function(age){
                if(age>0 && age < 150){
                    return true;
                }else{
                    return false;
                }
            }
        }
        Person.prototype["getName"] = function(){
            return this.name || "USPCAT.COM";    
        }
//--------------------------------------------------------------------
        //用命名规范来区别私有和共有变量
        function Person(name,age,email){
            //定义私有变量
            this._name;//私有
            this._age;//私有
            this.setName(name);
            this.setAge(age);
            this.email = email;//共有
            
        }
        Person.prototype = {
            setName:function(name){
                this._name = name;
            },
            setAge :function(age){
                if(age>0 && age < 150){
                    this._age = age;
                }else{
                    throw new Error("年龄必须在0到150之间");
                }            
            }
        }
//-------------------------------------------------------------------*/
        function person(name,age,email,sex){
            this.email = email;//公有 变量
            //name,age私有变量
            this.getName = function(){
                return this.name;
            }
            this.getAge = function(){
                return this.age;
            }        
            this.setName = function(name){
                this.name = name;//动态添加name属性,先set再get
            }
            this.setAge = function(age){
                if(age>0 && age < 150){
                    this.age = age
                }else{
                    throw new Error("年龄必须在0到150之间");
                }                
            }
            var _sex = "M";//这也是私有变量的编写方式
            this.getSex = function(){
                return _sex;
            }
            this.setSex = function(){
                _sex = sex
            }
            this.init = function(){
                this.setName(name);
                this.setAge(age);
            }
            this.init();
        }
        var p = new person("JIM",-1,"www.USPCAT@126.COM")
        </script>
    </head>
    <body>
    </body>
</html>
复制代码

 

复制代码
        var getXHR = function(){
             alert(2);
             getXHR = function(){
                alert(1);    
             }
        }
        getXHR();//2
        getXHR();//1
        getXHR();//1
复制代码

 

复制代码
var getXHR = function(){
             var a  = 1; 
             getXHR = function(){
                return 2;    
             }
            return a;
        }
        alert(getXHR());//1
        alert(getXHR());//2
        alert(getXHR());//2
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/6890723.html,如需转载请自行联系原作者

相关文章
|
6月前
|
数据可视化 JavaScript 前端开发
Turf.js介绍
Turf.js介绍
469 0
|
6月前
|
JavaScript
js的一些理解
js的一些理解
34 1
|
6月前
|
JavaScript 前端开发 Go
octokit.js
octokit.js
47 1
|
6月前
|
JavaScript 前端开发
JS实现日历表
JS实现日历表
33 0
|
JSON JavaScript 前端开发
js常见题
js常见题
64 0
|
JavaScript
JS 解决 removeEventListener 不生效问题
JS 解决 removeEventListener 不生效问题
514 0
|
JavaScript
js小技巧(2)
js小技巧(2)
|
JavaScript
js常用技巧汇总
js常用技巧汇总
|
JavaScript 索引
js中for in和for of详细讲解
js中for in和for of详细讲解
js中for in和for of详细讲解
|
JavaScript
一些js 小技巧
一些js 小技巧
104 0