编程技术学习心得

网页的标准被大致分为了三部分:HTML,CSS,JavaScript

分别是页面的结构,页面的样式,页面的行为

在这之前我们学习了前两部分,这两周新学习了JavaScript(js),以下是我的部分学习心得和重难点理解。

运算符

算数运算符,一元运算符,赋值运算符,比较运算符,相等运算符,逻辑运算符,条件运算符。括号运算符,逗号运算符,还包括自增自减的运算。个人觉得里面重要的就是这些运算符的优先级,对于运算是非常重要的。

语句

if语句,if,,,else语句,switch...case语句,while循环语句,do...while循环语句,for循环语句以及break和continue。

我们在之后经常会运用到语句运算,最重要的是其中的思维,由逻辑思维变成代码思维,从而来完成我们想要的效果。比如后面会用到双循环解决问题等等。

对象

四基两空一对象:number,string,boolean,symbol,null,undefined,Object

万物皆对象:花括号对象({}),数组([]),函数

作用域

当对象或者函数对象建立时,就会有作用域,作用域相当于一个层级划分

作用域分为:全局作用域,局部作用域,块作用域

全局作用域就是window下的作用域,里面设的变量都可以访问,局部作用域就是函数创立时形成的作用域,局部变量只能函数内部访问

如果局部函数想访问一个自身没有的变量,就会跳出这个局部作用域,到全局作用域去找,而这个链式结构,就是作用域链。

在我们做题或者分析代码结构的时候,浏览器会做一些我们看不见的操作,比如,预解析

函数的作用域是创建时候就已经形成,而不是调用时形成。

闭包

当一个函数里面嵌套了另一个函数,并且里面的函数用了外面函数的值,当我们返回里面的嵌套函数时,闭包就会产生,这里面包含了嵌套函数要用且自身不存在的数值。

闭包练习题:

 

原型

这是个重难点,当初学习的时候也不是很理解,但是通过查询资料才了解大概的原理。

  原型属性,每一个对象身上都具备一个属性,该属性称作为原型属性!

            原型属性有两类:

                - 显式原型属性 (prototype)

                    注意:每一个函数都具备 prototype,并且还具备__proto__

                - 隐式原型属性 (__proto__)

                    注意:每一个实例对象,都具备 __proto__

            原型对象:存放在prototype属性或者__proto__属性中的对象,称作为原型对象

            prototype,存放在该属性中的对象称作为显式原型对象

            __proto__,存放在该属性中的对象称作为隐式原型对象

            显式原型对象(prototype)的作用:

- 1、当函数作为构造函数使用,该属性才发发挥作用,如果是普通函数执行,原型对象毫无作用

- 2、当函数作为构造函数时,会创建一个实列的空对象

    创建好空对象后,就会把 prototype中指向的原型对象赋值给 空对象的__proto__属性中

    这样被创建好的空对象就具备了自己的原型对象!

 

 

 原型链:

JavaScript通过每个实例对象上的__proto__隐式原型属性,将原型对象进行链接,在通   过原型对象的原型属性

 再进行链接,以此往复,直到最终的null,这样便形成了JavaScript中的原型链!

  原型链的寻找一定是通过实例对象的 __proto__去寻找的!

this指向

 正常情况下this的指向规则:

            1、在全局作用域下访问this,this是指向window

            2、当函数以函数形式调用时,this是指向window

            3、当函数以 IIFE形式调用时,this是指向window

            4、当函数以方法的形式调用时,this指向的是调用者,而非持有者

            5、当作为构造函数调用时,this指向一个空对象 {}

但是,除了箭头函数以外,this是可以被改变的,这种改变就叫做this劫持。

 实现this劫持的三种方式(基于三个方法):apply  call  bind

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值