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"]的方式访问。