zoukankan      html  css  js  c++  java
  • javascript面向对象思想

    JavaScript 使用函数来定义类。
    语法:
    function className(){
        // 具体操作
    }

    function Person() {
        this.name=" 张三 ";  // 定义一个属性 name
        this.sex=" 男 ";  // 定义一个属性 sex
        this.say=function(){  // 定义一个方法 say()
            document.write("嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex + "。");
        }
    }

    在JavaScript中,创建对象(即类的实例化)使用 new 关键字。

    this 关键字是指当前的对象。

    在JavaScript中,可以使用“ . ”和“ [ ] ”来访问对象的属性。只能使用“ . ”来访问对象的方法。

    function Person() {
        this.name=" 张三 ";  // 定义一个属性 name
        this.sex=" 男 ";  // 定义一个属性 sex
        this.age=22;  // 定义一个属性 age
        this.say=function(){  // 定义一个方法 say()
            return "嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex + ",今年 " + this.age +"岁!";
        }
    }
    var zhangsan=new Person();
    alert("姓名:"+zhangsan.name);  // 使用“.”来访问对象属性
    alert("性别:"+zhangsan.sex);
    alert("年龄:"+zhangsan["age"]);  // 使用“[ ]”来访问对象属性
    alert(zhangsan.say);   // 使用“.”来访问对象方法

    动态添加属性和方法

    // 定义类
    function Person(name,sex) {
        this.name=name;  // 定义一个属性 name
        this.sex=sex;  // 定义一个属性 sex
        this.say=function(){  // 定义一个方法 say()
            return "嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex + " 。";
        }
    }
    
    // 创建对象
    var zhangsan=new Person("张三","男");
    zhangsan.say();
    
    // 动态添加属性和方法
    zhangsan.tel="029-81892332";
    zhangsan.run=function(){
       return  " 我跑得很快! ";
    }
    
    // 弹出警告框
    alert("姓名:"+zhangsan.name);
    alert("姓别:"+zhangsan.sex);
    alert(zhangsan.say());
    alert("电话:"+zhangsan.tel);
    alert(zhangsan.run());

     对象字面量是一个 名/值 对列表,每个 名/值 对之间用逗号分隔,最后用一个大括号括起来。名/值对 表示对象的一个属性或方法,名和值之间用冒号分隔。 

    var  myCar={
            "price" : "$10,000" ,   // 属性
            "color" : "red" ,   // 属性
            "run" : function(){ return " 120 km/h "; }   // 方法
        }
    var myHome={
            population : "10,000" ,
            area : "10,000" ,
            adress : {  // 属性
                    country : "China" ,
                    province : "shanxi" ,
                    city : "xian"
                },
            say : function(){  // 方法
                    return "My hometown is very beautiful ! ";
                }
        }

     使用对象字面量可以创建单个对象,语义直观。

    对象字面量可以嵌套。

    JavaScript 使用 for in 语句来遍历对象的属性和方法。for in 语句循环遍历 JavaScript 对象,每循环一次,都会取得对象的一个属性或方法。

    语法:
    for(valueName  in  ObjectName){
        // 代码
    }
    其中,valueName 是变量名,保存着属性或方法的名称,每次循环,valueName 的值都会改变。 类似于php中的foreach($array as $key=>$val)

    var zhangsan={}
    zhangsan.name = "张三";
    zhangsan.sex = "男";
    zhangsan.say = function(){
            return "嗨!大家好,我来了。";
        }
    zhangsan.contact = {
        tel : "029-81895644",
        qq : "1370753465",
        email : "itxueyuan@gmail.com"
    }
    var strTem="";  // 临时变量
    for(value in zhangsan){
       strTem+=value+':'+zhangsan[value]+"
    ";
    }
    alert(strTem);
    function charNum(str){
        var charObj={}
        for(i=0,len=str.length;i<len;i++){
            if(charObj[str[i]]){
                charObj[str[i]]++;
            }else{
                charObj[str[i]]=1;
            }
        }
        var strTem="";  // 临时变量
        for(value in charObj){
            strTem+='"'+value+'"的个数:'+charObj[value]+'
    ';
        }
        return strTem;
    }
    charNum("http://www.itxueyuan.org");
    charNum("134775444637722991919");
  • 相关阅读:
    hudson搭建经验总结(二)
    CodePen最佳实例分享
    hudson搭建经验总结
    资料文件夹管理系统
    ueditor+word图片上传
    asp.net上传大文件
    UEditor粘贴word
    大文件上传组件
    文件资源管理系统
    ueditor+复制word图片粘贴上传
  • 原文地址:https://www.cnblogs.com/lingc/p/4612874.html
Copyright © 2011-2022 走看看