javascript语法中的重难点(上)

本文详细介绍了JavaScript的基础知识,包括脚本定义位置、运算符、循环、访问对象属性的方式、数组遍历方法、函数定义方式、匿名函数、对象定义方法以及JavaScript与Java的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Javascript脚本定义位置

  1. js文件中
  2. script标签
  3. 普通HTML标签

2. 运算符

  1. ==及===号的区别

    • ==:只比较两者值是否相等
    • ===:既比较值也比较数据类型
  2. a=i++;与a=++i

    • 对于i来说,i的值都会加1
    • 对于a来说,++在前,先加后赋值;++在后,先赋值后加
  3. javascript中除法的结果是小数

3. for/in循环

for (property in expression) {
    循环体
}
示例:
var trees = ["国槐","白杨","红柳"];
    for(var index in trees){
    console.log(trees[index]);
}

4.访问对象属性值的两种方式

 1. 对象名["对象属性名"]
 2. 对象名.对象属性名

5. 遍历数组的三种方式

1. for(var i = 0;i<=2;i++)
            console.log(hobbies[i]);    
2. for(var i = 0;i<hobbies.length;i++)
            console.log(hobbies[i]);
3. for(var index in hobbies)
            console.log(hobbies[index])

6. 定义函数的两种方式

 1. function functionName([参数列表]){
            函数体;
    }
 2. var functionName =function ([参数列表]){
           函数体;
    };
  • 两种定义方式的区别:第一种定义方法称为定义式,可以先调用再定义,而第二种称为变量式,只能先定义再调用。在实际应用中二者没有区别,但在调用中顺序上差异:有名函数可以在调用之后再定义,而匿名函数则不可以。
  • 函数参数列表:JavaScript中函数参数列表中的参数不允许有数据类型;函数参数的数量可以是0~255,当存在多个参数时,参数之间用逗号分割;

7. 匿名函数定义

(
    function(){
        console.log("居然能调用");
    }
)();

8. 定义对象的五种方式

  • JavaScript自定义对象方式有以下7种:直接创建方式、对象初始化器方式、构造函数方法、prototype原型方式、混合的构造函数/原型方式、动态原型方式和工厂模式,这里为大家讲解常用的5种:

    1. 直接创建方式

      var 对象变量名 = new Object();
      对象变量名. property1 = value1;
      …;
      对象变量名. propertyN = valueN;
      对象变量名. methodName1 = function([参数列表]){
      //函数体
      }
      …;
      对象变量名. methodNameN = function([参数列表]){
      //函数体
      }
      
    2. 对象初始化器方式

      var 对象变量名 = {
      property1 : value1,
      property2 : value2,
      …, 
      propertyN : valueN,
      methodName1 : function([parameter_list]){
              //函数体
          },
      …, 
      methodNameN : function([parameter_list]){
              //函数体
          }
      }
      
    3. 构造函数方式

      function 构造函数([参数列表]){ 
          this.属性 = 属性值; 
          …
          this.属性N = 属性值N;
          this.函数1 = method1; 
          …
          this.函数N = methodN; 
      }
      function method1([参数列表]){
          //函数体
      }
      …
      function methodN([参数列表]){
           //函数体
      }
      

      function  构造函数([参数列表]){ 
          this.属性 = 属性值; 
          …
          this.属性N = 属性值N;
          this.函数1 = function([参数列表]){
              //函数体
          };
          …
          this.函数N = function([参数列表]){
              //函数体
          };
      }
      
    4. prototype原型方式

      function 对象构造器( ){
      } 
      对象构造器.prototype.属性名=属性值;
      对象构造器.prototype.函数名 = function([参数列表]){
          //函数体
      }
      
    5. 混合的构造函数/原型方式

      构造函数方式便于动态为属性赋值,但是这种方式将方法也定义在了构造方法体中,使得代码比较杂乱;而原型方式不便于为属性动态赋值,但是这种方式定义的属性和方法实现了分离;所以取长补短——构造函数定义属性,原型方式定义方法。

       function 对象构造器([参数列表]){
      } 
      对象构造器.prototype.函数名 = function([参数列表]){
          //函数体
      }
      

9. JavaScript与Java的区别

  1. JavaScript的程序代码直接嵌入HTML文件中;而Java程序代码写在Java源文件中;
  2. JavaScript是弱类型语言,比如在使用变量前可以不声明变量而直接使用;Java是强制类型语言,比如在使用变量前必须先声明变量;
  3. JavaScript的程序代码由客户端浏览器解释、执行;Java程序则必须先编译成class文件再由JVM执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值