JS05-练习

JS05-练习

有错望指正!!!

1.创建一个电脑对象,该对象要有颜色、重量、品牌、型号,可以看电影、听音乐、打游戏和敲代码。

 		var pc = {
            color: 'gray',
            weight: 2,
            brand: 'xxx',
            type: '001',
            watch: function() {
                console.log('我在看电影');
            },
            listen: function() {
                console.log('我在听音乐');
            },
            play: function() {
                console.log('我在打游戏');
            },
            coding: function() {
                console.log('我在敲代码');
            }
        }
        console.log(pc.color);
        console.log(pc.weight);
        console.log(pc['brand']);
        console.log(pc['type']);
        pc.watch();
        pc.listen();
        pc.play();
        pc.coding();

2.书写一个构造函数,用来创建学生对象

  • 学生对象包括的内容有:姓名(name)、学号(id)、性别(sex)、年级(grade)、打招呼(sayHi)
  • 在弹出框中提示:“你好我是XXX”,其中XXX代表对象的name属性值
		function Student(name, id, sex, grade) {
            this.name = name;
            this.id = id;
            this.sex = sex;
            this.grade = grade;
            this.sayHi = function() {
                alert('你好我是' + name);
            }
        }
        var stu = new Student('李四', 18, '男', '大一');
        stu.sayHi();

3.请描述下面代码的输出结果以及运行原因

var num = 1;
function demo(){
    console.log(num);
    function demoSon(){
        num = 3;
    }
    var num = 2
    demoSon();
}
demo();
// 变量预解析会将变量声明提升到当前作用域前,不提升赋值操作; 
// 函数预解析会将所有的函数声明提升到当前的作用域最前面,不调用函数
// 相当于进行了以下操作
var num;
function demo() {
	console.log(num);  // 输出结果:undefined
	function demoSon() {
		num = 3;
    }
    var num = 2
    demoSon();
}
num = 1;
demo();

4.请使用arguments完成函数getResult,实现得到输入的所有的数值中的最小值、最大值、平均数、总和等功能

  • 描述:
    函数名:getResult
    函数调用方式:getResult(数值1,数值2,数值3,数值4…)
    函数功能:返回值是一个对象,这个对象有sum, max, min, averages等属性,分别表示实参的总和、最大值、最小值、平均数等
		function getResult() {
            var sum = 0;
            var max = arguments[0];
            var min = arguments[0];
            var averages = 0;
            for (var i = 1; i < arguments.length; i++) {
                if (max < arguments[i]) {
                    max = arguments[i];
                }
                if (min > arguments[i]) {
                    min = arguments[i];
                }
                sum = sum + arguments[i - 1];
            }
            averages = sum / arguments.length;
            return [sum, max, min, averages]
        }
        var re = getResult(1, 2, 3, 4);
        console.log(re);

5.书写一个函数,判断指定数据是否存在于指定数组中

     	function exist(data, arr) {
            for (var i = 0; i < arr.length; i++) {
                if (data === arr[i]) {
                    return true;
                }
            }
            return false;
        }
        var ex = exist(1, [4, 5, 6, 7]);
        console.log(ex);

6.遍历下面对象

var dog = {
	dName:"coco",
	type:"阿拉斯加犬",
	age:"5岁",
	color:"棕红色"
};
		for (var k in dog) {
            console.log(k); // 输出属性名
            console.log(dog[k]); // 输出属性值
        }

7. 筛选数组

以下有两个数组,一个数组arr是班级里所有的学员的名称,一个数currentArr是提交了每日反馈的学员名单,请创建一种算法,把未提交每日反馈的学员筛选出来

var arr = ["张瑞淑", "徐海涛", "谢岗岗", "薛鹏"];

var currentArr = ["张瑞淑", "徐海涛"];
		function notSubmit(arr, currentArr) {
            var newArr = [];
            for (var i = 0; i < arr.length; i++) {
                if (currentArr.indexOf(arr[i]) == -1) {
                    newArr.push(arr[i]);
                }
            }
            return newArr;
        }
        var arr = ["张瑞淑", "徐海涛", "谢岗岗", "薛鹏"];
        var currentArr = ["张瑞淑", "徐海涛"];
        var no = notSubmit(arr, currentArr);
        console.log(no);

8. 三种创建对象的方式

		//利用字面量
        var dog = {
            uname: '可可',
            type: '阿拉斯加犬',
            age: 5,
            color: 'red',
            bark: function() {
                console.log('汪汪汪');
            }
        };
        console.log(dog.uname);
        console.log(dog.type);
        console.log(dog['age']);
        console.log(dog['color']);
        dog.bark();
		//利用new Object 创建
        var person = new Object();
        person.uname = '鸣人';
        person.sex = '男';
        person.age = 19;
        person.skill = function() {
            console.log('影分身术');
        }
        console.log(person.uname);
        console.log(person.sex);
        console.log(person['age']);
        person.skill();
		//利用构造函数
        function Hero(uname, type, blood) {
            this.uname = uname;
            this.type = type;
            this.blood = blood;
            this.attack = function(skill) {
                console.log(skill);
            };
        }
        var hero1 = new Hero('廉颇', '力量', 500);
        console.log(hero1.uname);
        console.log(hero1.blood);
        console.log(hero1['type']);
        hero1.attack('ahjkdh');
        
        var hero2 = new Hero('后羿', '射程', 500);
        console.log(hero2.uname);
  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值