发表于: 2020-04-19 22:50:18
1 1487
今日学习
return的用法
function result(res) {
return res;
}
console.log(result('555'));
// 相当于将res 赋值result()
// result(res) = res;
function sum(num1, num2) {
return num1 + num2;
}
console.log(sum(2, 4));
// 结果为2 + 4;
function getMax(num1, num2) {
return num1 > num2 ? num1 : num2;
}
console.log(getMax(1, 4));
console.log(getMax(6, 2));
对象arguments
存放输入的所有实参,伪数组形式
具有数组 length 属性
按照索引方式存储
没有真正数组上的一些方法 .pop() .push()
function getMax(argument) {
var max = arguments[0];
for (var i = 1; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
console.log(getMax(44, 54, 25, 4, 7, 888, 24, 4));
预解析
把var 及 function提升到当前作用域最前面
变量提升 但不赋值
对象
由属性和方法组成
属性 事物的特征(常用名词)
方法 事物的行为(常用动词)
创建对象的三种方法
1.对象字面量 {}包含对象的属性和方法
var object = {}; //创建一个空对象
var obj = {
name: 'aaa', //属性
age: 18,
sex: '男',
sayHi: function () { //方法
console.log('hi~');
}
}
使用对象
调用对象的属性
1.对象名.属性名
console.log(obj.name);
2.对象名['属性名']
console.log(obk['age']);
调用对象的方法
对象名.方法名
obj.sayHi();
2.new 创建对象
var obj = new Object(); //创建一个空对象
obj.name = 'aaa';
obj.age = 18;
obj.sex = '男';
obj.sayHi = function () {
console.log('hi~');
}
调用方法相同
3.构造函数创建对象
function 构造函数名() {
this.属性 = 值;
this.方法 = function () {}
}
//调用
new 构造函数名();
function Star(name, age, sex) { //首字母大写
this.name = name;
this.age = age;
this.sex = sex;
}
var ldh = new Star('刘德华', '18', '男');
//构造函数不需要return就可以返回结果
for..in 遍历对象
for (变量 in 对象) {}
for (var k in obj) {
console.log(k); //k 变量 输出得到的是属性名
console.log(pbj[k]); //obj[k] 输出得到的是属性值
}
//for in 里的变量习惯使用 k 或 key
内置对象
Math Date Array String等
var num = Math.floor(Math.random() * 100);
for (var i = 10; i >= 0; i--) {
if (i > 0) {
var text = prompt('请输入0~100你猜得数字,你还有' + i + '次机会');
if (text > num) {
alert('你猜大了');
} else if (text < num) {
alert('你猜小了');
} else {
alert('你猜对了');
break;
}
} else {
alert('你没有机会了');
}
}
Date() 日期对象 是构造函数
1.如果没有参数 返回当前系统的当前时间
var date = new Date();
console.log(date);
2.参数常用写法
数字型 2000, 1, 01
字符串 '2000-10-1 8:8:8:'
日期格式化
var date = new Date();
console.log(date.getFullYear()); //返回当前日期的年
console.log(date.getMonth() + 1);//返回月 获取月数0~11
console.log(date.getDate()); //返回几号
console.log(date.getDay()); //返回周几 周日0 ~ 周六6
console.log(date.getHours()); //返回 时
console.log(date.getMinutes()); //返回 分
console.log(date.getSeconds()); //返回 秒
获得Date总毫秒数(时间戳)
1.valueOf() gitTime()
var date = new Date();
console.log(date.valueOf()); //现在时间距离1970.1.1的总毫秒数
console.log(date.getTime());
2.简单的写法 常用写法
var date1 = +new Date(); + new Date() //返回总的毫秒数
3.H5新增方法
console.log(Date.now());
倒计时
function countDown(time) {
var nowTime = +new Date(); //当前总毫秒数
var inputTime = +new Date(time); //输入的总毫秒数
var times = (inputTime - nowTime) / 1000; //剩余总秒数
var d = parseInt(times / 60 / 60 / 24); //天
d = d < 10 ? '0' + d : d;
var h = parseInt(times / 60 / 60 % 24); //小时
h = h < 10 ? '0' + h : h;
var m = parseInt(times / 60 % 60); //分
m = m < 10 ? '0' + m : m;
var s = parseInt(times % 60); //秒
s = s < 10 ? '0' + s : s;
return d + '天' + h + '时' + m + '分' + s + '秒';
}
console.log(countDown('2020-4-19 16:00:00'));
var date = new Date();
console.log(date);
数组对象
数组字面量
var arr = [1, 2, 3];
用 new A仍然有()
var arr1 = new Array(2, 3);
检测是否为数组
instanceof 运算符
var arr = [];
var obj = {};
console.log(arr instanceof Array); //true
console.log(obj instanceof Array); //flase
Array.isArray(参数); H5新增方法 ie9以上支持
console.log(Array.isArray(arr)); //ture
console.log(Array.isArray(obj)); //false
.push();
//数组末尾追加
console.log(arr.push(33)); //得到新数组长度
//push完后返回结果为新数组长度
.unshift(); //返回新的长度
//数组开头添加
.pop(); //返回值为删除的元素
//删除数组最后一个元素
.shift(); //返回值为删除的元素
//删除数组第一个元素
评论