day05-JavaScript02( 二 )

例子2:隐形参数
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>函数使用的注意事项</title><script type="text/javascript">function f2() {//隐形参数是一个对象数组//遍历函数的arguments隐形参数//arguments是一个数组//注意:如果希望通过console.log输出对象的数据,使用逗号,来连接,而不是加号+console.log("arguments=", arguments);//arguments=Arguments { 0: 10, 1: 20, 2: "50", 3: "nihao", … }console.log("arguments长度=", arguments.length);//arguments长度= 4}f2(10, 20, "50", "nihao");//如果函数有形参,在传入实参的时候,仍然按照顺序匹配//如果实参个数>形参个数,就就将匹配上的数赋给形参,忽略没有匹配上的实参//但是仍然会把所有的实参都赋给argumentsfunction f3(n) {console.log("n=", n)//n= 100console.log("arguments=", arguments)//arguments=Arguments { 0: 100, 1: 300, 2: 788, … }}f3(100, 300, 788);//如果形参个数大于实参个数,没有匹配的形参的值就是undefinedfunction f4(a, b, c, d) {console.log("d=", d);//d= undefined}f4(100, 200, 300);</script></head><body></body></html>
day05-JavaScript02

文章插图
  • 练习
  1. 要求:编写一个函数,用于计算所有参数相加的和并返回,如过实参不是number就过滤掉
  2. 提示使用typeof来判断参数类型
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">//编写一个函数,用于计算所有参数相加的和并返回,如过实参不是number就过滤掉function sum() {var res = 0;for (i = 0; i < arguments.length; i++) {if (typeof arguments[i] == "number") {//注意arguments数组放的是对象res += arguments[i];}}alert("参数相加的和=" + res);}sum(100, "nihao", 500, null, 200, undefined);</script></head><body></body></html>
day05-JavaScript02

文章插图
9.JS自定义对象
  • 自定义对象方式1:Object形式
  1. 对象的定义
var 对象名=new Object();//对象实例(空对象)对象名.属性名=值;//定义一个属性对象名.函数名=function(){}//定义一个函数
  1. 对象访问
对象名.属性对象名.函数名();
如果一个属性没有定义赋值就直接使用,该属性值就是undefined(变量提升)
例子
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>自定义对象</title><script type="text/javascript">//自定义对象的方式//person是一个空对象,没有自定义的函数和属性var person = new Object();console.log(typeof person);//object//增加一个属性nameperson.name = "老虎";person.age = 35;//增加一个方法person.say = function () {//这里的this就是当前的personconsole.log("person="+this.name+" "+this.age);}//调用person.say();//person=老虎 35//如果一个属性没有定义赋值就直接使用,该属性值就是undefinedconsole.log(person.email);//undefined</script></head><body></body></html>
day05-JavaScript02

文章插图
  • 自定义对象方式2:{}形式
  1. 对象的定义
var 对象名={////多个属性和方法之间都要用逗号隔开属性名:值,//定义属性属性名:值,//定义属性,注意后面有逗号,函数名:function(){}//定义函数};
  1. 对象访问
对象名.属性对象名.函数名();
例子

经验总结扩展阅读