首页 > 分享 > JS05

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();

1234567891011121314151617181920212223242526'

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(); 1234567891011

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); // 输出结果:undefinedfunction demoSon() {num = 3; } var num = 2 demoSon(); } num = 1; demo();

123456789101112131415161718192021222324'

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);

12345678910111213141516171819'

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); 12345678910'

6.遍历下面对象

var dog = {dName:"coco",type:"阿拉斯加犬",age:"5岁",color:"棕红色" }; 123456'

for (var k in dog) { console.log(k); // 输出属性名 console.log(dog[k]); // 输出属性值 } 1234

7. 筛选数组

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

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

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); 12345678910111213'

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(); 123456789101112131415'

//利用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(); 123456789101112'

//利用构造函数 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);

1234567891011121314151617'

网址: JS05 https://m.mcbbbk.com/newsview322999.html

所属分类:萌宠日常
上一篇: 猫为什么有很强的好奇心?
下一篇: 拉布拉多犬怎么训练