函数和方法的相同点:都是实现某种工能,做某件事
不同点:方法是对象的一部分,函数不是对象的一部分,函数是单独封装操作的容器
函数:单独存在的,通过“函数名()”的方式就可以调用
方法:对象里面的函数称为方法,方法不需要声明,使用“对象.方法名()”的方式就可以调用,方法用来描述 该对象的行为和功能。
andy.name = 'pink'; andy.age = 18; andy.sex = '男'; andy.sayHi = function(){ alert('大家好啊~'); } 注意:
<script> // 构造函数 泛指的某一大类 类似于Java里面的类 function Star(uname, age, sex) { this.name = uname; this.age = age; this.sex = sex; this.sing = function (sang) { console.log(sang); } } // 对象 是一个具体的事物 var ldh = new Star('刘德华', 18, '男'); console.log(ldh.name); console.log(ldh.age); ldh.sing('冰雨'); var zxy = new Star('张学友', 19, '男'); console.log(zxy.name); // console.log(typeof ldh); //调用函数返回的类型是对象 </script>
3 遍历对象 for...in 语句用于对数组或者对象的属性进行循环操作。 其语法如下: for (变量 in 对象名字) { // 在此执行代码 } 语法中的变量是自定义的,它需要符合命名规范,通常我们会将这个变量写为 k 或者 key。 for (var k in obj) { console.log(k); // 这里的 k 得到的是属性名 console.log(obj[k]); // 这里的 obj[k] 得到的是属性值 }
也可以用来遍历对象方法,不过很少用
<script> var obj = { // 属性 uname: '张三丰', age: 18, sex: '男', // 方法 sayHi: function () { console.log('hi'); } } for (var k in obj) { console.log(k); // 这里的 k 得到的是属性名 console.log(obj[k]); // 这里的 obj[k] 得到的是属性值 } </script>