在js中经常定义一个config对象来保存当前对象里面的一些临时变量;定义这个变量可以被对象中所有的属性访问到,可以避免重复,减少内存占用,统一管理;

如:

 <script>
function dateFormat(date,format){
var o = {
"M+" : date.getMonth()+1, //month
"d+" : date.getDate(), //day
"h+" : date.getHours(), //hour
"m+" : date.getMinutes(), //minute
"s+" : date.getSeconds(), //second
"q+" : Math.floor((date.getMonth()+3)/3), //quarter
"S" : date.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
(date.getFullYear()+"").substr(4- RegExp.$1.length));
for(var k in o)if(new RegExp("("+ k +")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length==1? o[k] :
("00"+ o[k]).substr((""+ o[k]).length));
return format;
} //产品对象
/*对象内如何使用对象的属性和方法:this,对象外如何使用:先实例化,后用点语法*/
/*类 -- 抽象对象*/
function Product(name,price) {
/*属性 行为 可以为空或者给默认值*/
this.name=name
this.price=1000;
this.description = '';
this.zhekou = ''
this.sales = ''
this.produceDate
/*我们的需求:自动计算打折后的价格*/
Object.defineProperty(this, "price", {
value:5000000,
writable: false,
});
Object.defineProperty(this, "produceDate", {
get: function () {
return dateFormat(produceDate,'yyyy年MM月dd日');
},
set: function (value) {
produceDate = value;
}
});
var that = this;
//定义一个变量 :这个变量可以被对象中所有的属性访问到。。。。
/*避免重复,减少内存*/
/*统一管理*/
this.config = {
btnConfirm: document.getElementById('btn'),
btnBuy: document.getElementById('btn'),
btnAddCart: document.getElementById('btn'),
domProductName : document.getElementById('pname'),
domProductPrice : document.getElementById('pprice'),
sum : 1000,
des : document.getElementById('pdes'),
youhuijia : document.getElementById('pyouhui'),
zhekou : document.getElementById('pzhekou'),
sales : document.getElementById('psales'),
date : document.getElementById('date')
}
function bindDOM(){
/*绑定元素*/
/*通过点语法访问对象中的属性或者方法*/
that.config.name.innerHTML=that.name
that.config.price.innerHTML=that.price
that.config.des.innerHTML=that.description
that.config.youhuijia.innerHTML=that.youhuijia
that.config.zhekou.innerHTML=that.zhekou
that.config.sales.innerHTML=that.sales
that.config.date.innerHTML=that.produceDate
}
function bindEvents(){
/*绑定事件*/
that.config.btn.onclick = function(){
that.addToCart()
}
}
this.init = function(){
bindDOM()
bindEvents()
}
} //定义对象的两种方式
Product.prototype={ getPrice:function() {
return this.price
},
addToCart:function(){
alert('将物品添加到购物车')
}
} Product.prototype.buy=function(){
}
Product.prototype.addToCart=function(){ } /*搭积木开发 -- 代码可读性极高*/
window.onload=function() { /*实例化 -- 实例 -- 具体*/
//如何使用
//对象的使用必须先实例化,对象定义好之后,都是抽象的,必须实例化成具体
var iphone = new Product()
/*给对象的赋值赋值,也可以新增属性*/
iphone.name='iphone7'
iphone.price=6000
iphone.description='手机中的战斗机'
iphone.youhuijia=3000
iphone.zhekou=3.0
iphone.sales=40000
iphone.produceDate=new Date()
/*无法使用私有成员*/
// iphone.bindDOM()
// iphone.bindEvents()
/*只能使用共有成员*/
iphone.init()
} </script>

config对象的更多相关文章

  1. JSP内置对象--web安全性及config对象的使用 (了解即可)

    tomcat服务器配置的时候,在虚拟目录中必须存在一个WEB-INF文件夹,但是访问的时候并不能发现这个文件夹.改成WEB-INFs就可以看到. 所以WEB-INF文件夹不轻易让用户看到,那么其安全性 ...

  2. jsp内置对象-config对象

    1.概念:config对象中存储了一些Servlet初始化的数据结构,当Servlet初始化时,JSP容器通过config对象将这些信息传递给这个Servlet.一般在web.xml文件中配置Serv ...

  3. JSP内置对象——pageContext对象和config对象

    它对应的常用方法有: 现在,我新建一个“pageContext.jsp”页面,可以获得“session_page1.jsp”这个页面中保存的用户名: pageContext.jap: session_ ...

  4. JSP内置对象之WEB安全性及config对象

    一.WEB-INF的安全性是最高的. 在Java EE的标准中,Web目录中的WEB-INF是必须存在的,而且此文件夹的安全性是最高的,在各个程序的开发中,基本上都将一些配置信息保存在此文件夹中.在定 ...

  5. JAVA-JSP内置对象之config对象

    相关资料:<21天学通Java Web开发> config对象1.config对象可以用来获得Servlet的配置信息. 方法                               ...

  6. config对象的使用及常用方法

    config对象的使用及常用方法 制作人:全心全意 config对象主要用于取得服务器的配置信息.通过pageContext对象的getServletConfig()方法可以获取一个config对象. ...

  7. 11.page,pagcontext,config对象

  8. httpservlet在创建实例对象时候默认调用有参数的init方法 destroy()方法 service方法, 父类的init方法给子类实例一个config对象

  9. JSP内置对象page/pageContext/Config/Exception

    Config对象 config对象实是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一 ...

随机推荐

  1. $watch

    $watch简单使用 $watch是一个scope函数,用于监听模型变化,当你的模型部分发生变化时它会通知你. $watch(watchExpression, listener, objectEqua ...

  2. java数组转json

    public String toJsonObject(String[] list) { String json="["; for (int i=0;i<list.length ...

  3. IT忍者神龟之 oracle行转列、列转行

    一.行转列 须要将例如以下格式 转换为: 这就是最常见的行转列,主要原理是利用decode函数.聚集函数(sum).结合group by分组实现的 create table test( id varc ...

  4. hdu 4857 逃生 (拓扑排序+保证最小在前面)

    逃生 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  5. jsp中获取当前项目名称

    在JSP页面获取当前项目名称的方法: 方法1: <%= this.getServletContext().getContextPath() %> 方法2: 使用EL表达式 ${pageCo ...

  6. 简单的java实验,涉及到 类继承以及接口问题,方法体的重写(区别于重载)

    package test ; abstract class Animal { abstract void cry(); abstract String getAnimalName(); } class ...

  7. Html5 Geolocation获取地理位置信息(转)

    Html5中提供了地理位置信息的API,通过浏览器来获取用户当前位置.基于此特性可以开发基于位置的服务应用.在获取地理位置信息前,首先浏览器都会向用户询问是否愿意共享其位置信息,待用户同意后才能使用. ...

  8. 解决IIS动态内容压缩的问题

    转:http://www.cnblogs.com/cmt/archive/2013/03/10/iis-dynamic-dompression-mime.html

  9. CentOS 安装 Hadoop

    原文地址:http://www.cnblogs.com/caca/p/centos_hadoop_install.html 下载和安装   download hadoop from http://ha ...

  10. Jmeter----HTTP Request Defaults

    一.HTTP Request Defaults的作用: 该组件可以为我们的http请求设置默认的值.假如,我们创建一个测试计划有很多个请求且都是发送到相同的server,这时我们只需添加一个Http ...