JavaScript基础(六)

JavaScript基础(六)
对象的属性删除操作
格式: delete 对象.属性名;
var obj = {
name : ‘jack’,
age : 18,
gender : ‘男’,
sayHi : function () {
console.log(‘这是sayHi方法’);
}
};

    delete obj.name;
    delete obj.age;
    delete obj.gender;
    delete obj.sayHi;

    console.log(obj); // 对象的所有属性都被删除了
小练习
	为什么要根据数据创建结构
		传统的html和css写法如果要进行内容修改,操作比较繁琐,很慢。
		通过js代码进行设置处理起来更为简便、快速
	操作步骤
		1 明确数据的含义
		2 明确数据对应的结构
		3 根据数据进行结构的生成即可
		在字符串中进行数据拼接的方式
			找到要放置数据的位置,书写两个引号
			再书写两个+
			将数据放入即可
		如果要生成复杂结构,会出现多行字符串导致的错误
			解决方式:在每行字符串最后设置一个\去除换行符的功能即可
多个对象的创建操作(构造函数)
	构造函数的作用:用来进行多个对象的创建操作
	构造函数的使用步骤:
		调用构造函数时必须加 new
		new的作用:
			new创建了一个对象
			new将这个对象返回了
			new在函数中设置了this,this就表示当前创建的这个对象
			new还可以调用构造函数(不推荐使用)
		建议
			构造函数的命名首字母大写
			作用:对操作没有实际影响,只是为了标识,可以方便区分普通函数和构造函数
对象类型检测相关操作
	如何对复杂类型进行类型检测
		typeof 只能用于除null以外的基本类型的类型检测。
		instanceof
			格式:   数据 instanceof 构造函数名
			返回值:布尔类型
		constructor (常用)
			格式:  数据.constructor
			返回值: 可以获取创建当前对象的构造函数
		Object.prototype.toString.call(数据)
			作用:可以获取任意数据的类型名称
			返回值:  '[object 首字母大写的类型名称]'  
			console.log( Object.prototype.toString.call('abc') ); // '[object String]'

console.log( Object.prototype.toString.call(200) ); // ‘[object Number]’
console.log( Object.prototype.toString.call({}) ); // ‘[object Object]’
console.log( Object.prototype.toString.call(null) ); // ‘[object Null]’
null的类型检测问题
typeof对null检测结果为’object’,检测结果不准确
null一定是基本类型
检测null的方式
一般我们不写上面的检测方式,我们直接进行
数据 === null
Object.prototype.toString.call(null) === ‘[object Null]’ 太麻烦,但是功能没问题
复杂类型的比较操作
指的是复杂类型进行==、=、!=、!
对复杂类型进行比较操作时,是比较内存单元中的值。
因为复杂类型在内存单元中保存的是地址,比较比的也是地址
两个复杂类型长得一样,比较结果也一定是false
必须两个复杂类型是同一个地址时,才能返回true
// 示例1:长得一样的两个复杂类型进行比较
console.log([1, 2, 3] == [1, 2, 3]); // false
console.log([1, 2, 3] === [1, 2, 3]); // false

    // 示例2:两个复杂类型实际是同一个数据时进行比较
    var arr1 = [1, 2, 3];
    var arr3 = arr1;

    console.log(arr1 == arr3); // true
    console.log(arr1 === arr3); // true

    var obj1 = {
        name : 'jack'
    };
    var obj2 = obj1;
    console.log(obj1 == obj2); // true
    console.log(obj1 === obj2); // true
内置对象API
	API(全拼为Application Programming Interface,应用程序编程接口)
	接口
		生活中的接口:电源接口,网线接口,usb接口。。
		概念:**能够提供某种能力的事物**统称为接口。
	API
		概念:能够提供应用程序的编程能力的事物
		提供我们自己实现不了的功能
		我们自己可以实现,但是通过提供的功能操作更简便
		本质:其实就是一些属性和方法
	内置对象API
		概念:js为了方便开发者操作,提供了很多的功能。这些功能根据具体操作的数据形式不同又划分为多个对象形式,称为内置对象。
		主要是学习写法,用法,使用场景,不需要考虑每个功能的实现方式。(拿来主义)
	Math 数学对象 
		Math.max() 取最大值
		Math.min() 取最小值
		Math.random() 取随机数(需要掌握)
			//  - 取值范围: [0,1) 含0不含1

console.log(Math.random());
// 示例1:例如获取指定范围的随机整数 0-10
Math.random() * 11; // [0,11)
console.log(parseInt(Math.random() * 11)); // 0-10的随机整数
// 示例2:例如获取数组中的随机元素
// - 获取随机元素其实就是随机的索引值
// - 索引值范围: 0 - 4
// - parseInt(Math.random() * arr.length);
var arr = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’];
var i = parseInt(Math.random() * arr.length); // 获取随机索引值
console.log(arr[i]);
Math.ceil() 向上取整(需要掌握)
Math.floor() 向下取整(需要掌握)
Math.round() 四舍五入
Math.abs() 取绝对值
Date 日期对象
// 1 创建方式
// var date = new Date(); // 表示计算机的当前时间
// var date = new Date(‘2018-7-5 15:13:6’); // 方式1:传参设置为指定的某个时间
// var date = new Date(2018, 0, 5, 15, 13, 6); // 方式2:数值形式注意月份从0开始
// console.log(date);

    // 2 Date的方法(用来获取日期中的某个部分,不需要刻意去记)
    var date = new Date();
    console.log(date.getFullYear()); // 获取年
    console.log(date.getMonth() + 1); // 获取月,注意月份从0开始,使用时记得 + 1
    console.log(date.getDate()); // 获取日
    console.log(date.getDay()); // 获取星期,周日是0

    console.log(date.getHours()); // 获取小时
    console.log(date.getMinutes()); // 获取分钟
    console.log(date.getSeconds()); // 获取秒
    console.log(date.getMilliseconds()); // 获取毫秒,1秒=1000毫秒
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值