JavaScript的函数和对象介绍

一、JavaScript中的函数

  1、函数的概述

       JavaScript中的函数是一段可执行代码的合集,在需要执行的时候可以在方法名之后添加一对小括号执行方法。是一段可执行的字符串。

  2、函数中隐藏的属性arguments

     在函数中有一个隐藏的属性arguments,其中保存的是用户输入的全部参数,可以通过arguments.length获取用户输入参数的长度。如果用户输入的参数数量大于函数现有的参数长度,多余的参数没有被抛弃,利用arguments依然可以获取到用户输入全部参数。如果用户的输入参数数量小于函数现有的参数长度,则缺少的参数会使用undefined来赋值通过arguments也可以获取用户传入的参数。

3、函数的使用

    在JavaScript的函数中可以认为函数是一种特殊的变量,这个变量可以作为参数使用,也可以作为方法使用。

    a、当作为参数使用时,直接书写方法名即可,这时书写的方法名就是代表当前方法的变量。

    b、作为方法使用时,则需要再方法名之后添加上一对小括号,这时这个函数就会执行函数中的函数体。

4、函数的三种定义方式

  • 普通方法定义函数

1 function mx(a,b) {
2                 
3     for(var i =0;i<arguments.length;i++) {
4         console.log(arguments[i]);
5     }
6  }
mx(1,2,3);
mx(1);
  • 动态函数定义

       动态函数定义方式,就是将函数列表中先书写全部参数,最后一个参数需要书写方法体。(动态函数最后一个参数位置是填写方法体的位置)

    

var mx = new Function("a","b","return a + b");
console.log(mx(2,3));
  • 匿名函数定义(直接量函数定义)

var mx = function(a,b){
    return a+b;
}
mx(3,4);

二、JavaScript中的对象

   1、JavaScript对象的概述

      JavaScript是一门脚本语言。无需编译,直接解释执行;它是基于对象。js中的对象的本质就是由一个大括号,其中包含任意多个键值对,键值对直接使用逗号隔开,组成的字符串。

   2、对象的三种定义方法

  •  无参构造函数创建对象,对象的属性和方法直接在对象后面添加  

function Person() {
   
}

let p = new Person();

   p.name="lisi";
   p.age = 18;
   p.gender = "male";
   p.say = function() { 
     return this.name + "say。。。";
  }

 console.log(p);
 console.log(p.say());
  • 有参构造函数创建对象:将部分属性通过构造函数传入

function Person(name,age) {
    this.name = name;
    this.age = age;
}
 let p = new Person("lisi",18);
   p.addr = "beijing";
   delete p.name;
   console.log(p);

 其中删除属性使用delete删除,例如上面删除p对象的属性name:delete  p.name。

  • 直接量定义对象:直接在{}中插入键值对定义对象。

var p = {name:"js",age:18,addr:"bj"};
 console.log(p);
 delete p.name;
 console.log(p);

  3、JavaScript的对象的另类使用:JSON串

   Json本质上就是一段字符串,能够保存较复杂关系的数据,具有良好的数据保存格式,又极为轻量,加之多种代码平台都支持对字符串的处理,所以我们可以使用JSON字符串进行数据的传入,甚至平台传输。

 JSON串的使用示例如下:

var data = {
        name:"王五",
        age:28,
        addr:"北京",
        grilfriends:[
        {name:"貂蝉",age:16,job:"闭月羞花"},
        {name:"西施",age:18,job:"沉鱼落雁"}
        ]
}
console.log(data["grilfriends"][1]["job"]);

当JSON串中的属性是数组对象时,要通过data["grilfriends"]的方式访问;属性为非数组独享时,可以直接通过JSON对象“.”出来,或者使用data["age"]的方式访问。

posted @ 2019-05-16 15:42  虎啸千峰  阅读(314)  评论(0编辑  收藏  举报