`
lvwenwen
  • 浏览: 950963 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

JavaScript面向对象编程

阅读更多
javascript面向对象编程
var a=100,b=0;
c=a||b;
alert(c) --->100(返回其中第一个不为false的值,或最后一个值)

var a=true,b=false;
c=a||b;  --->true
//with简化作用
with(d){

   getFullyear();
}

数组-->字符串
array.join(";");

javascript函数不支持重载
在javascript里面一切都是对象,函数时特殊的对象
1.闭包
函数里面嵌套函数形成闭包
1.闭包
2.函数的作用域,this

所有的变量属于windows的
var obj2=new Object(gs is b1);
obj2.v="this is b1"//等价于 var obj2={v:"this is b1"}


2.//作用域Scope

var b1={v:"this is b1"}
var b2={v:"this is b2"}

  function b(d,r){
    
     alert(this.v+d+r);
  }

  b("111","ddsf"); //输出undefined
  window.b("bb","adasd");//输出undefined
  //b.call() -->b //call用于执行函数
  //b.call(b1)--->b1
  //call的第一个次数是表示函数上下文
  b.call(b1,"adsfsdf"); //this is b1
  b.appaly(b2,["111","dddsf"])//输出 this is b2

  //扩充一下

  var b3 ={v:"this is b3",SayHello:function(){
          alert(this.v)
  }}

  b3.sayHello();

  3.可变函数(...),内部类

  一:js如何定义一个类
  java:
    class Person{
        private String name;
    }

    js:

    function Person(name){
       this.name=name;
    }
    二:javascript中,一切都是对象,包括类(函数)也是一个对象
    Number
    Date
    Function

    三:使用类,创建对象
      var obj =new Object();
      obj.name="sdfasdf";
      //平时调用函数
        var v =Person("张三"); //v的值返回的是undefined
//当成类,这个函数就就算构造函数
var p =new Person("张三"); //p就是一个person类的实例,p是一个对象,里面name属性

四.封装

function Person(name){
     var y =10;  //y是私有变量
     this.name=name;
}

var p =new Person(); //y就不再被其他的变量
使用,就垃圾回收器回收
五.闭包-->函数里面嵌套函数

function Person(name){
     var y =10;  //y是私有变量
     this.name=name;
             this.sayHello=function(){  //这是一个闭包
          y++;
  alert(thiis.name+y);
     }
}
var p =new Person(); //y不会被垃圾回收器回收
p.sayHello(); //这个函数可以访问封装起来的y

六。作用域scope,上下文

funciton sayHello(){
     alert(this.v);

}

sayHello();//函数中的this是window
window.sayHello();//所有的变量默认都存在window这个对象中

var v1 ={v:"this is v1"} //直接使用{}来定义一个javascript对象

alert(v1.v); //访问对象的属性

alert(v1["v1"]); //使用类似于数组的方式访问v这个属性

//所有的函数下面都call,apply 这两个方法,还有一个属性prototype

sayHello.call(v1);//代表执行一个函数,把函数的作用域设置v1,输出this is v1(用可变参数)

sayHello.apply(v1);//一样效果,apply需要数组[]来调用的函数的传递参数

七.扩展已有javascript类,使用prototype

  var d=6;
  //实现给Number类添加一个名为add的方法
  d.add(8).add(9)
//使用prototype(函数上才有prototye属性)
Number.prototype.add=function(v){
     return v++;
}
//扩展自己的类
  function Person(name){
      this.name =name;
  }

  Person.prototype.sayHello=function(){
      alert(this.v);
  }

  var p =new Person("张三");

  p.sayHello();

  八.继承
  function classA(name){
      this. name =name;
      this.sayHello=funciton(){
           alert(this.name);
      }
  }
//让classB继承classA
  function classB(){
      this.tempMethod=classA;
      this.tempMethod(name);
  }

  bar b =new classB("李四");
  b.sayHello();

  //上面的classB构造函数可以改一下

  funciton classB(name){
       classA.call(this,name);
  }

  function classB(name){
  classA.apply(this,name);
  }
  九.可变参数

   function sum(){
        var s =0;
for(var i=0;i<arguments.length;i++){
    s+=arguments[i];
}
    return s;
   }
//调用
   sum(1,4,5);
   sum(11,49,55,3567,45656,567,66)

   十。||这个操作符,返回的第一个不为false,"",0,null......这些代表逻辑假的值
   funciton doSomething(e){
     e=e||window.event;
   }
分享到:
评论

相关推荐

    Javascript面向对象编程.

    在提供的资源中,《代码之美》PDF文件可能包含了关于编程实践和代码风格的指导,而《Javascript面向对象编程》PPT可能更具体地阐述了JavaScript OOP的细节和示例。学习这些材料将有助于深入理解JavaScript的面向对象...

    JavaScript面向对象编程指南.pdf

    JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在... 《JavaScript面向对象编程指南》着重介绍JavaScript在面向对象方面的特性,展示如何构建强健的、可维护的、功能强大的应用程序及程序库

    JavaScript面向对象编程指南

    《JavaScript面向对象编程指南》内容包括:JavaScript作为一门浏览器语言的..., 《JavaScript面向对象编程指南》着重介绍JavaScript在面向对象方面的特性,展示如何构建强健的、可维护的、功能强大的应用程序及程序库。

    JavaScript面向对象编程指南(第2版).rar

    JavaScript是一种广泛...通过深入学习这本《JavaScript面向对象编程指南(第2版)》,开发者不仅能掌握JavaScript的面向对象编程基础,还能了解到实际项目中如何有效地运用这些知识,提升编程技巧和解决问题的能力。

    Javascript面向对象编程

    ### JavaScript面向对象编程详解 #### 一、引言 JavaScript作为一种广泛使用的脚本语言,在Web开发领域占据着举足轻重的地位。尽管JavaScript本质上是一种基于原型的语言,但它也支持面向对象编程的一些特性,使得...

    JavaScript面向对象编程指南 pdf

    下面将详细探讨JavaScript面向对象编程的基本原理、特性以及实际应用。 1. **类与对象** - 在JavaScript中,对象是键值对的集合,可以通过字面量语法或构造函数创建。例如: ```javascript const person = { ...

    JavaScript面向对象编程指南完整版

    JavaScript面向对象编程指南是完整的扫描版...

    javascript面向对象编程指南 2nd

    javascript面向对象编程指南 2nd英文版,英文名:Object-Oriented JavaScript。 What you will learn from this book The basics of object-oriented programming, and how to apply it in the JavaScript ...

    JavaScript面向对象编程.pdf

    JavaScript面向对象编程.pdf

    javascript面向对象编程

    资源名称:Javascript面向对象编程   内容简介: 从语言的视角来看,面向对象的程序设计和面向对象的Javascript 语言绝对不是什么摩登的  东西;Javascript 最开始就是被设计成一...

    JavaScript面向对象编程指南 完整版

    JavaScript面向对象编程指南完整版是扫描的....

Global site tag (gtag.js) - Google Analytics