<script>

// //对象div的创建
// var div = document.createElement("div");
// document.body.appendChild(div);
// div.style.width = "200px";
// div.style.height = "200px";
// div.style.background = "blue";
// div.style.border = "1px solid black";
// div.style.bodyRadius = "10px";
// //将代码封装成方法
// function createDiv() {
// var div = document.createElement("div");
// document.body.appendChild(div);
// div.style.width = "200px";
// div.style.height = "200px";
// div.style.background = "blue";
// div.style.border = "1px solid black";
// div.style.bodyRadius = "10px";
// }
// createDiv();
// createDiv();
//面向过程1.创建元素,2.添加元素,3.设置元素样式
//面向对象1.对象,div对象,2.对象需要完成什么功能,方法:添加到body中appendTo,设置div对象的样式css
// function MyDiv(text){
// this.DOM = document.createElement('div');
// this.DOM.innerText = text;
// //添加方法
// this.appendTo = function(node){
// node.appendChild(this.DOM);
// }
// this.css = function(option){
// for(var key in option){
// this.DOM.style[key] = option[key];
// }
// }
// }
function MyDiv(text){
this.DOM = document.createElement('div');
this.DOM.innerText = text;
}
MyDiv.prototype.appendTo = function(node){
node.appendChild(this.DOM);
return this;
}
MyDiv.prototype.css = function(option){
for(var key in option){
this.DOM.style[key] = option[key];
}
return this;
}
//使用对象
// var div1 = new MyDiv("第一个");
// div1.appendTo(document.body);
// div1.css({
// width:"200px",
// height:"200px",
// background:"red",
// border:"1px solid black",
// })
var div = new MyDiv('这是我的div');
div.appendTo(document.body).css({
width:"200px",
height:"200px",
background:"red",
border:"1px solid black",
})
</script>
<script>
//匿名函数,闭包的概述,闭包的作用
//需求:计数,
//常规
// var count = 0;
// function addCount(){
// count++;
// console.log(count);
// }addCount(5);
// addCount(5);
// addCount(5);
// addCount(5);
//打破作用域链,在外部访问函数内部的局部变量:把局部变量保持在内存中:闭包的经典写法
function addCount() {
var count = 0;
return function () {
count++;
console.log(count);
}
}
var add = addCount();
add();
add();
add();
 
//js私有化属性
function person(){
var age = 18;
return{
getAge:function(){
return age;
},
setAge:function(value){
age=value;
}
}
}
var p = person();
console.log(p.age);
console.log(p.getAge());
console.log(20,'私有化自定义属性');
</script>

最新文章

  1. insert、update select from
  2. [转]设计模式之六大原则——开闭原则(OCP)
  3. 【BZOJ-4515】游戏 李超线段树 + 树链剖分 + 半平面交
  4. IOS基础之(十四) KVO/KVC
  5. aspx与ascx,ashx的用法详细的总结介绍
  6. Java获得UTC时间
  7. width(),innerHTML(),outerHTML()
  8. C#可以直接调用的Win32API(和VCL做的整理工作非常类似)
  9. Tomcat unable to start
  10. 转:requirejs打包压缩r.js使用示例
  11. DevExpress 学习使用之 LookUpEdit
  12. Linux的环境变量
  13. 使用TCP/IP Monitor监视Soap协议
  14. 关于如何获取移动端 touchmove 事件中真正触摸点下方的元素
  15. SSM-Spring-10:Spring中cglib动态代理
  16. Zookeeper初始(一)
  17. 2018-2019-2 网络对抗技术 20165318 Exp5 MSF基础应用
  18. 1.2 面向对象 Object-oriented
  19. Python 中Lambda 表达式 实例解析
  20. 俄罗斯方块-C语言-详注版

热门文章

  1. Connection to api@localhost failed. [08001] Could not create connection to d
  2. logrus 剖析之 hook
  3. UI单据字段值查看方式
  4. 一步一步手写GIS开源项目-(1)500行代码实现基础GIS展示功能
  5. StatusStrip控件的使用(转:http://blog.sina.com.cn/s/blog_4f18c3ec0100fguf.html)
  6. 【转载】C#中List集合使用RemoveRange方法移除指定索引开始的一段元素
  7. react基础学习和react服务端渲染框架next.js踩坑
  8. MySQL DataType--日期格式
  9. 不错的DSP和FPGA作者
  10. [dev][nginx] 在阅读nginx代码之前都需要准备什么