对象化编程-------简单地去理解就是把javascript能涉及到的范围分成各种对象,对象下面再次划分对象。编程出发点多是对象,或者说基于对象。所说的对象既包含变量,网页,窗口等等
- 对象的含义
对象可以是文字,表单等等。对象包含以下:
-
属性-------对象的某些特定的性质
-
方法-------对象能做的事情
-
事件-------能响应发生在对象上的事情
注意:对象只是一种特殊的数据
2. 基本对象
我们一般划分的角度还是从数据类型这方面
这边我只是简单地罗列出来部分,具体的可以参考http://www.w3school.com.cn/js/js_obj_intro.asp
不过我这边还是想讲一下比较流行的一道前端面试题,也是我当初来百度面试的时候问我的(题目的来源好像是方荣大侠的某个web前端研发工程师编程能力成长之路的文档里面的)
废话少说------出题:
“输出字符串--今天是星期几”
答案1:
var _str = "";
var _today = new Date().getDay();
if(_today == 0){
_str = "今天是星期日";
}else if(_today == 1){
_str = "今天是星期一";
}else if(_today == 2){
_str = "今天是星期二";
}else if(_today == 3){
_str = "今天是星期三";
}else if(_today == 4){
_str = "今天是星期四";
}else if(_today == 5){
_str = "今天是星期五";
}else if(_today == 6){
_str = "今天是星期六";
}
答案2:
var _str ="今天是星期";
var _today=new Date().getDay();
switch(_today){
case 0:
_str += "日";
break;
case 1:
_str += "一";
break;
case 2:
_str += "二";
break;
case 3:
_str += "三";
break;
case 4:
_str += "四";
break;
case 5:
_str += "五";
break;
case 6:
_str += "六";
break;
}
答案3:
var _arr = new Array("日","一","二","三","四","五","六");
var _today = new Date().getDay();
var _str = "今天是星期"+_arr[_today ];
答案4:
var _str = "今天是星期"+"日一二三四五六".charAt(new Date().getDay());
3.
下面介绍创建类和对象的模式
var people ={};
people.name = "steven";
people.age = 23;
people.getName = function(){
return "People's name is "+ this.name;
};
console.log(people.getName()); //People's name is steven
console.log(people.age); //23
不好的地方就是:在创建多个对象的场景下会产生 很多冗余的代码,耦合度不高
function makePeople(name,age,job){
var _obj = {};
_obj.name = name;
_obj.age =age;
_obj.job = job;
_obj.getName = function(){
return "People's name is "+ this.name;
}
return _obj;
}
var webdesigner = makePeople("steven",23,"wendesigner");
console.log(webdesigner.getName ); //People's name is steven
console.log(webdesigner.job) //wendesigner
function People(){};
People.prototype = {
constructor :People,
name:"steven",
age:23,
job:"webdesigner",
getName:function(){
return "People's name is "+this.name;
}
}
var webdesign = new People();
var carman = new People();
console.log(webdesign.getName()); //People's name is steven
console.log(carman.getName()); //People's name is steven
不好的地方就是:初始化参数不支持传递,还有就是原型的所有属性和方法会被所有的实例共享
function People(name.age.job){
this.name = name;
this.age = age;
this.job = job;
};
People.prototype = {
constructor:People,
getName: function(){
return "People's name is "+this.name;
}
}
var webdesigner = new People("steven",23,"webdesigner");
var carman = new People("zyc",24,"carman");
console.log(webdesigner.getName()) //People's name is steven
console.log(carman.getName()) //People's name is zyc
(function(){
var name ="";
People = function(val){
name = val;
};
People.prototype ={
constructor:People,
getName:function(){
return "People's name is "+ name ;
}
};
})();
var webdesigner = new People("steven");
console.log(webdesigner.name); //undefined
console.log(webdesigner.getName()); //People's name is steven
var carman= new People("zyc");
console.log(carman.name); //undefined
console.log(carman.getName()); //People's name is zyc
分享到:
相关推荐
### 浅谈JavaScript面向对象编程 #### 一、概述 面向对象编程(OOP)是一种编程范式,它使用“对象”来设计软件。在JavaScript中,尽管语言本身并不支持传统的类(class)概念,但开发者可以通过原型继承和其他技术来...
JavaScript是一种广泛...通过深入学习这本《JavaScript面向对象编程指南(第2版)》,开发者不仅能掌握JavaScript的面向对象编程基础,还能了解到实际项目中如何有效地运用这些知识,提升编程技巧和解决问题的能力。
标题《浅谈Javascript面向对象编程》涉及了JavaScript语言在实现面向对象编程(OOP)方面的核心概念及其灵活运用。接下来,我们详细地梳理一下从给定文件内容中提取的关于JavaScript面向对象编程的知识点。 1. 数据...
继承是面向对象编程(OOP)的核心概念之一,在JavaScript中实现继承有多种...以上内容详细解释了JavaScript面向对象继承的概念和实现步骤,相信对于正在学习或准备深入学习JavaScript的开发者来说具有重要的参考价值。
标题中提到的是“浅谈javascript 面向对象编程”,这意味着本文将探讨JavaScript中的面向对象编程(OOP)概念。面向对象编程是一种编程范式,它使用“对象”来设计软件程序。对象可以包含数据和代码,数据通常被称为...
在探讨JavaScript面向对象编程时,首先我们得了解面向对象编程(OOP)的基本概念。面向对象编程是一种编程范式,强调的是将对象视为自主、有状态的实体,并使用这些对象来设计软件程序。主要关键字包括封装...
面向对象编程(OOP)是一种编程范式,它将数据和功能封装在一起,以便以现实世界中的对象形式来模拟现实世界的实体。面向对象编程包括了对象、类、继承、多态和封装等概念。 在JavaScript中,我们可以使用函数来...
##### 面向对象浅谈 面向对象编程(Object-Oriented Programming,OOP)是一种软件开发范式,它通过模拟现实世界中的对象及其交互来构建程序结构。这种编程方式不仅能够简化程序的复杂度,还能够提高代码的复用性...
1. **面向对象编程(OOP)**: ASP.NET基于.NET Framework构建,后者是一种面向对象的开发平台。因此,熟悉一种面向对象的语言如C#或VB.NET至关重要。面向对象的概念包括但不限于类、对象、继承、封装、多态等。 2. ...