严格模式下的this指向

概述

严格模式是由ECMA-262规范定义的新兴JavaScript标准,旨在改善错误检查功能并且标识可能不会延续到未来JavaScript版本的脚本。ES5严格模式是限制性更强的JavaScript变体,它与常规JavaScript的语义不同,其分析更为严格。

严格模式下类中的this指向

类中所有的方法,在局部默认开启了严格模式,它不敢指向window所以指向了undefined

    <script>
        class Person{
     
            constructor(name,age){
     
                this.name=name
                this.age=age
            }
            study(){
     
                //study 方法放在了哪里?-类的原型对象上,供方法使用
                //通过Person实例调用study时,study中的this就是Person实例
                console.log(this);
            }
        }
        const p1=new Person('熊熊',19)
        p1.study()//p1实例调用
        const x=p1.study//把p1的属性交给x,方法属于特殊的属性
        x()//这个是直接调用
    </script>

严格模式下的this指向_第1张图片

严格模式下函数的this指向

严格模式下函数this指向是undefined

function demo1(){
     
            "use strict"
            console.log(this)
        }
        demo1()
        function demo2(){
     
            console.log(this)
        }
        demo2()

在这里插入图片描述
严格模式下的this指向_第2张图片

你可能感兴趣的:(#,react,前端框架,#,ES5,javascript,reactjs)