zoukankan      html  css  js  c++  java
  • js中用于对象的语句——with和for...in语句学习专题

     with语句和for...in语句是js中用于对象的语句。以下分别对这两个语句进行详细介绍和举例。
      1. with语句
          1)简要说明
            with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性。要给对象创建新的属性,必须明确地引用该对象。
          2)语法格式
          with(object instance) {
         //代码块
       }
       有时候,我在一个程序代码中,多次需要使用某对象的属性或方法,照以前的写法,都是通过:对象.属性或者对象.方法这样的方式来分别获得该对象的属性和方法,着实有点麻烦,学习了with语句后,可以通过类似如下的方式来实现:
      with(objInstance) {
         var str = 属性1;
         ......
      }
      去除了多次写对象名的麻烦。
      3)举例
       eg1.在with中取对象属性举例: <script language="javascript">
    <!--
    function Employee() {
        this.name = "阿蜜果";
        this.age = "24";
        this.gender = "女";
    }
    
    var amigo = new Employee();
    with(amigo) {
        var str = "姓名: " + name + "<br>";
        str += "年龄:" + age + "<br>";
        str += "性别:" + gender;
        document.write(str);
    }
    //-->
    </script>     代码执行效果如下:
          姓名: 阿蜜果
          年龄:24
          性别:女
        eg2.在with代码块中调用对象的方法:
        <script language="javascript">
    <!--
    var now = new Date();
    with(now) {
        var str = "当前日期:";
        str += getYear() + "年";
        str += (getMonth() + 1) + "月";
        str += getDate() + "日";
    
        document.write(str);
    }
    //-->
    </script>
        程序执行结果如下:
        当前日期:2007年4月7日
    2. for...in语句
       1)简要说明
         该语句用于对数组或者对象的属性进行循环操作。它可对某个对象的所有属性进行循环操作。
       2)语法格式
         for (变量 in 对象) {
            在此执行代码
         }
       3)举例
        eg1.使用for...in循环遍历数组,代码如下:
          <script type="text/javascript">
    var index;
    var myFriends = new Array();
    myFriends[0] = "chocalate Xiao";
    myFriends[1] = "sterning";
    myFriends[2] = "wolf";
    
    document.write("friends list: <br/>")
    for (index in myFriends) {
        document.write(myFriends[index] + "<br/>")
    }
    </script>
    
    
        执行结果如下:
        friends list: 
        chocalate Xiao
        sterning
        wolf
        eg2. 使用for...in语句调用对象的属性和属性值,代码如下:
        <script language="javascript">
    <!--
    function Employee() {
        this.name = "阿蜜果";
        this.age = "24";
        this.gender = "女";
    }
    
    var amigo = new Employee();
    var prop;
    for(prop in amigo) {
        document.write("属性: " + prop + ";属性值: " + amigo[prop] + "<br/>");
    }
    //-->
    </script>
         代码执行结果如下:
         属性: name;属性值: 阿蜜果
         属性: age;属性值: 24
         属性: gender;属性值: 女 
    

    With(DOM){}可以得到DOM对象,进行读出属性,那么也就可以进行设置属性。例如师姐的跑马灯

     <div id="marquees">
    2                             <!-- 这些是字幕的内容,你可以任意定义 -->
    3                             <label runat="server" id="LMessage">
    4                             </label>
    5                             <!-- 字幕内容结束 -->
    6                         </div>
    7
    8                         <script language="javascript" type="text/javascript">
    9                             marqueesWidth = 250; //内容区宽度度
    10                              stopscroll = false; //这个变量控制是否停止滚动
    11  
    12                             with (marquees) {//把一个DIV的DOM对象拿过来直接用。WITH方法,使得,其对象的属性都可以直接使用
    13                                 noWrap = true; //这句表内容区不自动换行
    14                                 style.width = marqueesWidth; //于是我们可以将它的宽度设为0,因为它会被撑大
    15                                 style.height = 'auto';
    16
    17                                 style.overflowX = "hidden"; //滚动条不可见
    18                                 onmouseover = new Function("stopscroll=true"); //鼠标经过,停止滚动
    19                                 onmouseout = new Function("stopscroll=false"); //鼠标离开,开始滚动
    20                             }

  • 相关阅读:
    深度学习之 TensorFlow(一):基础库包的安装
    爬取网易云音乐评论并使用词云展示
    MySQL学习笔记(一):查询
    【linux】查看linux系统版本信息(Oracle Linux、Centos Linux、Redhat Linux、Debian、Ubuntu)
    【php】PHP中Session ID的实现原理
    VMware安装VMwareTolls
    退耦、旁路电容
    SPI笔记
    旧板与IO板之间的连接
    S3C2440启动方式
  • 原文地址:https://www.cnblogs.com/mahaisong/p/2037398.html
Copyright © 2011-2022 走看看