学好JavaScript,让自己成为前端的猴赛雷大佬!(五) 完

本文详细介绍了JavaScript中对象的声明方式(字面量、实例化和构造函数),重点剖析了this关键字在不同情境下的行为,包括对象方法中的this指向,以及对象遍历、删除和包装对象的概念。此外,还提到了数学对象和日期对象的使用,以及提升开发者在面试和项目中的技能建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.字面量声明对象

var obj1 = {};

2.对象中的数据都是键值成对存在

通常来说,值是函数则成为方法,其他类型的值都是属性。

var obj2 = {

age:12,

height:195,

name:‘张三’,

sex:**function(){

}**

};

3.实例化方式 声明对象(内置构造函数)

var obj2 = new Object();

4.自定义构造函数方式

function fun(){

}

var f = new fun(); //实例化自定义构造函数方式

以下两个获取对象属性或者方法的例子:

在这里插入图片描述

在这里插入图片描述

2.this

===================================================================

1.指向对象中的this

直接举个例子:

var obj1 = {

age:18,

name:‘老铁’,

fun:function(){

// 在方法中的this就是这个方法所在的对象

var s = this.age;

}

}

实际上this指向的就是obj1这个对象。

也就是说上面的this.age就等于obj1.age

只不过this替换了obj1这个对象。

2.指向全局对象的this

在一个普通的函数种也是有this的,并且这个this指向的是全局对象(window)。

function f(){

console.log(this);//这里可以直接打印出来运行一下。

}

3.this的指向

======================================================================

直接上例子:

k = ‘678’;

function fun(){

console.log(this.k);

}

var o1 = {

k:‘123’,

f:fun, //调用fun()函数

}

var o2 = {

k:‘345’,

f:fun, //调用fun()函数

}

o1.f();

o2.f();

这里的this,就非常灵性,指向的自然是相对应的k值,this运行在那个对象下,就指向那个对象

注意函数是否带括号!!!

函数带括号的相当于调用函数

var o1 = {

age:18,

fun:function () {

console.log(this.age);

}

}

var o2 = {

age:16,

fun:o1.fun(),

}

o2.fun();

上面得到的结构就是18,因为这是调用完成后的结果。

没有带括号的函数:

var o1 = {

age:18,

fun:function () {

console.log(this.age);

}

}

var o2 = {

age:16,

fun:o1.fun, //只是把o1的键值对中的值,给传递过来了。

}

o2.fun();

这里没有带括号,结果就是16,因为fun函数没有被调用执行。

这里的fun:o1.fun就等于

fun:function () {

console.log(this.age);

}

只是把键值对中的值转递过来了,并没有调用。

4.对象的遍历和删除

=======================================================================

遍历语法格式:

for … in

for(键 in 对象)

for

例如:

var o1 = {

name:‘老铁’,

age:18,

sex:‘female’

}

for(var a in o1){

console.log(o1[k]);

}

for … in … 循环不仅可以遍历对象,还可以遍历数组。

删除属性语法格式:

删除属性:delete

例如:

var o1 = {

name:‘老铁’,

age:18,

sex:‘female’

}

console.log(o1); //先看一眼内容

delete o1.age;

console.log(o1); //这时里面应该没有了age属性。

5.包装对象

===================================================================

这里介绍以下三种原始类型:

数值,字符串,布尔

原始类型的数据在一定条件下可以自动转为对象,这就是包装对象。

例如:

var v1 = new Number(123);

console.log(v1);

上面的结果就是Number {123}。

原始值,可以自动当作对象来调用,因此可以调用各种属性以及方法。

如果包装对象使用完成,会自动立即销毁。

例如:

var str = ‘123’;

console.log(str.length);

6.数学对象(标准库对象,内置对象)

===============================================================================

这里记录几个很常用的:

Math.abs() // 函数取绝对值

Math.random() //函数返回一个浮点数,范围在[0,1)之间。

公式:取2到8之间的数字

Math.random()*( 8 - 2 ) + 2

获取 n - m 之间的随机数值

Math.random() * (m - n) + n

往后取特定的范围都这样取值!!!

Math.floor() //返回小于或等于一个给定数字的最大整数。

7.日期对象

===================================================================

实例化构造函数获取时间对象

总结

  • 框架原理真的深入某一部分具体的代码和实现方式时,要多注意到细节,不要只能写出一个框架。

  • 算法方面很薄弱的,最好多刷一刷,不然影响你的工资和成功率😯

  • 在投递简历之前,最好通过各种渠道找到公司内部的人,先提前了解业务,也可以帮助后期优秀 offer 的决策。

  • 要勇于说不,对于某些 offer 待遇不满意、业务不喜欢,应该相信自己,不要因为当下没有更好的 offer 而投降,一份工作短则一年长则 N 年,为了幸福生活要慎重选择!!!

    开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

喜欢这篇文章文章的小伙伴们点赞+转发支持,你们的支持是我最大的动力!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值