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(); //实例化自定义构造函数方式
以下两个获取对象属性或者方法的例子:
===================================================================
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);//这里可以直接打印出来运行一下。
}
======================================================================
直接上例子:
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);
}
只是把键值对中的值转递过来了,并没有调用。
=======================================================================
遍历语法格式:
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属性。
===================================================================
这里介绍以下三种原始类型:
数值,字符串,布尔
原始类型的数据在一定条件下可以自动转为对象,这就是包装对象。
例如:
var v1 = new Number(123);
console.log(v1);
上面的结果就是Number {123}。
原始值,可以自动当作对象来调用,因此可以调用各种属性以及方法。
如果包装对象使用完成,会自动立即销毁。
例如:
var str = ‘123’;
console.log(str.length);
===============================================================================
这里记录几个很常用的:
Math.abs() // 函数取绝对值
Math.random() //函数返回一个浮点数,范围在[0,1)之间。
公式:取2到8之间的数字
Math.random()*( 8 - 2 ) + 2
获取 n - m 之间的随机数值
Math.random() * (m - n) + n
往后取特定的范围都这样取值!!!
Math.floor() //返回小于或等于一个给定数字的最大整数。
===================================================================
实例化构造函数获取时间对象
总结
-
框架原理真的深入某一部分具体的代码和实现方式时,要多注意到细节,不要只能写出一个框架。
-
算法方面很薄弱的,最好多刷一刷,不然影响你的工资和成功率😯
-
在投递简历之前,最好通过各种渠道找到公司内部的人,先提前了解业务,也可以帮助后期优秀 offer 的决策。
-
要勇于说不,对于某些 offer 待遇不满意、业务不喜欢,应该相信自己,不要因为当下没有更好的 offer 而投降,一份工作短则一年长则 N 年,为了幸福生活要慎重选择!!!
喜欢这篇文章文章的小伙伴们点赞+转发支持,你们的支持是我最大的动力!