文档章节

javascript13-object04-毕包02

zhchl2010
 zhchl2010
发布于 2015/01/02 22:38
字数 512
阅读 11
收藏 0
1.closed-this02
    <script type="text/javascript">
    var name="window";
    var person={
            name:"zhangsan",
            age:23,
            say:function(){
                /*that指向person*/
                var that=this;
                return function(){
                    return that.name;
                }
            }
    }
    
    /*此时that是指向person的,所以调用that.name就是person中的name
     */
    alert(person.say()());
    </script>
02clised-block
    <script type="text/javascript">
    for(var i=0;i<10;i++){
        
    }
    /*在js中没有块作用域,不管是使用循环还是判断之后,这个变量会一直存在
     *所以当在全局使用某个变量进行循环或者判断之后,这个变量可能会影响到
     函数中的变量,所以非特殊情况不要使用全局变量,而且使用全局变量在作用域
     链的最上层,访问时最慢的 
     */
    var i;//此时会认为是无效语句,除非使用var i=0;
    alert(i);//10
    </script>
03clised-blockScope
    <script type="text/javascript">
    /*在一个团队进行开发时,可能会涉及到定义同名的全局全局变量
     *一定养成如下习惯,将全局变量的代码放到一个匿名函数中,
     并且立刻调用匿名函数,这样也可以执行全局变量的代码,但是这些变量
     就被控制在开发人员想要控制的作用域中了
     function(){
            for(var i=0;i<10;i++){
                 
            }
        }();
    在function的()后不能直接调用,一定要加上括号 
     */
    (function(){
        for(var i=0;i<10;i++){
             
        }
    })();
    function fn1(){
        alert(i);
    }
    fn1();
    </script>
04closed-private
    <script type="text/javascript">
    function Person(){
        /*此时就没有办法直接访问name这个属性,因为没有this.name
        要访问name只能通过this.setName()和this.getName()
        但是使用这种方式创建私有变量带来的问题是,每个对象都存储大量
        的函数,解决的办法是通过静态私有变量来解决 */
        this.setName=function(value){
            name=value;
        }
        this.getName=function(){
            return name;
        }
    }
    
    var p=new Person("aa");
    alert(p.name);//undefind
    p.setName("aaa");
    alert(p.getName());
    </script>
05closed-private02
    <script type="text/javascript">
    var Person;
    (function(){
        //name在函数结束之后就消失了,在外面是无法引用的 
        var name="";
        Person=function(value){
                name=value;
        }
        
        Person.prototype.setName=function(value){
            name=value;
        }
        
        Person.prototype.getName=function(){
            return name;
        }
    })();
    
    var p1=new Person("aa");
    alert(p1.getName());
    p1.setName("bbb");
    alert(p1.getName());
    </script>


© 著作权归作者所有

zhchl2010
粉丝 3
博文 80
码字总数 77710
作品 0
成都
程序员
私信 提问
蓝牙4.0大数据分包处理

蓝牙一个包最多只能发送20字节的命令,如果一个命令为30字节,那么肯定要分包发送 1字节 2个长度 如:0x01 那么分包发送需要一套规则,来让设备端解析,然后把包合起来,才能收到完整命令 比...

谓之王也
2016/11/18
527
0
this_lucky/ynode

_ / / | / / / /_ / |/ / / / _ / / /| / // / // / //// |/_/_,/_/ 一个面向对象的高效 node.js mvc and REST 框架 English Readme 文档 Node 版本 大于等于 6.0.0 源码 source code https:......

this_lucky
2017/02/27
0
0
使用qxdm过滤UIM log

1、基本查找方法 打开isf的log文件 Ctrl+A 全选 Alt+R 进行过滤 Alt+M进行字符匹配(如果要匹配包中的内容勾选parsed Text选项) Alt+Y定位log 2、关于UIM模块 包的话需要关注qmi包,apdu包 ...

HouWeiGui
2016/12/26
298
0
JDK和两个JRE

原文:http://renyongjie668.blog.163.com/blog/static/160053120101711162373/ 昨晚看到csdn上有人再问jre的东东,忽然想起以前一个同学和我说过,安装jdk后有两个jre目录及他们的区别,现在...

樂天
2015/10/10
115
0
无线利器Kismet在linux(Ubuntu)的基本使用

Kismet(http://www.kismetwireless.net /)是一款针对802.11b无线网络嗅探器,它用来捕捉区域中无线网络的相 关信息。功能有:支持大多数无线网卡(Linksys, D-Link, Rangelan, Cisco Aironet...

红薯
2010/09/08
4K
4

没有更多内容

加载失败,请刷新页面

加载更多

最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
27分钟前
4
0
说好不哭!数据可视化深度干货,前端开发下一个涨薪点在这里~

随着互联网在各行各业的影响不断深入,数据规模越来越大,各企业也越来越重视数据的价值。作为一家专业的数据智能公司,个推从消息推送服务起家,经过多年的持续耕耘,积累沉淀了海量数据,在...

个推
28分钟前
7
0
第三方支付-返回与回调注意事项

不管是支付宝,微信,还是其它第三方支付,第四方支付,支付机构服务商只要涉及到钱的交易都要进行如下校验,全部成功了才视为成功订单 1.http请求是否成功 2.校验商户号 3.校验订单号及状态...

Shingfi
31分钟前
4
0
简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

内存分配: 1. 栈区:栈可分为Java虚拟机和本地方法栈 2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更...

DustinChan
37分钟前
6
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部