首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

指向JavaScript中的变量

指向JavaScript中的变量是一种内存地址,它指向存储在内存中的变量值。在JavaScript中,变量可以是基本数据类型(如数字、字符串、布尔值等)或引用数据类型(如对象、数组等)。

当我们声明一个变量时,JavaScript会为该变量分配一个内存地址,并将该地址与变量名关联起来。例如,如果我们声明一个名为x的变量并将其赋值为10,则JavaScript会为该变量分配一个内存地址,并将该地址与变量名x关联起来。该内存地址存储了变量的值10

当我们使用变量名时,JavaScript会使用该变量名找到其对应的内存地址,并从该地址中读取变量的值。例如,如果我们使用变量名x,则JavaScript会找到该变量名对应的内存地址,并从该地址中读取变量的值10

在JavaScript中,指向变量的内存地址可以通过使用指针来实现。指针是一种特殊的变量,它存储了另一个变量的内存地址。例如,我们可以声明一个名为ptr的指针,并将其指向变量x的内存地址,如下所示:

代码语言:javascript
复制
let x = 10;
let ptr = &x;

在这个例子中,ptr是一个指针,它指向变量x的内存地址。我们可以使用指针来读取或修改变量的值,如下所示:

代码语言:javascript
复制
*ptr = 20;
console.log(x); // 输出20

在这个例子中,我们使用指针ptr来修改变量x的值为20。由于指针ptr指向了变量x的内存地址,因此修改指针指向的值也会影响到变量x的值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Javascript中的this指向

this this指向只和调用函数的对象有关; 多层嵌套的对象,内部方法的this指向离被调用函数最近的对象(window也是对象,其内部对象调用方法的this指向内部对象, 而非window); function...原型链中的方法的this仍然指向调用它的对象; var o = { f : function(){ return this.a + this.b; } }; var p = Object.create...this 当this传入内联处理函数时,它的this指向监听器所在的DOM元素; 当this没有传入内联处理函数时,其this指向等同于 函数直接调用的情况,即在非严格模式指向全局对象window, 在严格模式指向...this setTimeout 和 setInterval中的普通函数this指向全局对象window; (如果传入的函数已绑定this或者是箭头函数,则不适用这条,需要继续往下看) function...setInterval(() => { // 回调里面的 `this` 变量就指向了期望的那个对象了 this.age++; }, 3000); } var p

92500

JavaScript中的this指向问题

JavaScript中的this关键字 在JavaScript中,关键字 this 是一个特殊的对象,它在函数被调用时自动创建。通常用来指向当前执行的函数所属的对象。...在上面的代码中,sayAge函数被赋值给了变量func,并且在独立函数调用时没有指定this的值。因此,this的默认绑定将会指向全局对象。...可以使用箭头函数或通过在外部函数中将this赋值给一个变量来解决这一问题。 事件处理函数中的this:在事件处理函数中,this通常指向触发事件的元素。...可以使用箭头函数、bind()方法,或通过在外部函数中将this赋值给一个变量来解决这一问题。 对象方法中的this:在对象方法中,this通常指向调用该方法的对象。...在嵌套函数中,注意this的指向可能会发生变化,可以通过将this赋值给一个变量来解决。

26360
  • JavaScript中的this指向哪?

    这是因为 JavaScript 语言的作用域链是由词法作用域决定的,而词法作用域是由代码结构来确定的:this中的默认、隐式、显式和new的绑定规则箭头函数中的this指向问题二、什么是this?...不同于词法作用域链,this的指向是在运行时才能确定,实际上当执行上下文创建后,会生成一个this引用值,指向当前执行上下文对象,如下图所示:因此为了避免这种情况,JavaScript 设计者引入了 this...绑定的丢失有时 this 绑定可能会在某些情况下丢失,导致 this 值的指向变得不确定:赋值给变量后调用当使用一个变量作为函数的引用值,并使用变量名执行函数时,会发生绑定丢失,此时 this 会默认绑定到全局对象或变成...因为当赋值给变量时,对象中的 fun就失去了与对象的关联,变成了一个独立函数,所以此时执行 lostfun也就相当于执行独立函数,默认绑定到全局对象。那如果通过对象来执行呢?...但是将变量放到对象中后,就与该对象进行关联。所以该方法执行后的 this 执行了 lostObj2对象。

    16810

    JavaScript中的this指向问题

    1、什么是this this一般指向的是调用它的对象,比如调用它的上下文是window对象,那就是指向window对象,如果调用它的上下文是某对象就是指向某对象…… //例如 console.log...(this) //window //这里调用者是全局对象window,所以this指向window ?...2、用来干嘛 this在一般情况下,是指向函数的上下文,可以处理一些作用域下的事件调用 如果想要引用某对象的方法,就不用写太多重复代码,直接用this调用某对象的方法 3、怎么在代码中使用 console.log...4.1引入call、bind、apply 4.1.1区别 共同点 都是函数的内置方法 都可以改变函数执行的上下文 注:改变上下文可以为程序节省内存空间,减少不必要的内存操作 通俗易懂解释改变上下文:...小张在公司有个快递要拿,刚好有事,自己拿不了,他就安排小王拿,这里小张本来是拿快递的执行上下文,因为有事,就改变拿快递的执行上下文,变成了小王,节约了小张的时间,他就不用另外安排时间去拿快递了 不同点

    1.1K11

    JavaScript this的指向

    图片 在 JavaScript 中this取什么值,是在函数真正被调用执行的时候确定的,函数定义的时候确定不了,因为this的取值是执行上下文环境的一部分,每次调用函数,都会产生一个新的执行上下文环境...this作为普通函数,指向window function fn1() { console.log(this) } fn1() // window 使用call() apply() bind(),指向第一个参数...fn1.call({x: 100}) // 指向第一个参数 {x: 100} 作为对象方法被调用,指向调用该方法的对象 const niangao = { name: '年糕', sayHi(...// setTimeout是作为普通函数去执行,而不是作为niangao.wait()去执行 console.log(this) }) } } 在class方法中被调用,指向实例对象...} eat() { console.log(this) } } const niangao = new Food('年糕') niangao.eat() // Food{} 箭头函数,指向上级作用域的

    79631

    在javascript中对于this指向的再次理解

    在浏览器环境下,全局变量和window对象的属性是等价的,所以定义了length全局变量就相当于向window对象添加了一个length属性。...第二个的输出结果是2!!!为什么呢?这里还要强调上面说的那句话function () {}函数体内的this对象指向的是调用该函数的对象。...这一点也是javascript语言广为诟病的一点,无法依据定义函数的形参个数来实现方法的重载,只能靠argumengs的length属性来实现。...所以在上面例子中,fn 和 3这两个变量都挂载在arguments对象下面,还由于arguments是一个类数组对象所以它有length属性,也可以像使用数组一样来使用arguemnts。...即可以arguments[0]指向arguments的第一个属相,在上例中就指向了fn函数,fn函数体内的this就指向了arguments对象,所以第二次打印出2!!!

    1.3K20

    第149天:javascript中this的指向详解

    js中的this指向十分重要,了解js中this指向是每一个学习js的人必学的知识点,今天没事,正好总结了js中this的常见用法,喜欢的可以看看: 1、全局作用域或者普通函数中this指向全局对象window...4 //function声明函数 5 function bar () {console.log(this)} 6 bar() //window 7 8 //function声明函数赋给变量...$.ajxa()中的对象 24 console.log(self) // window 25 } 26 }); 27 //这里说明以下,将代码简写为$.ajax(obj)...,this指向obj,在obj中this指向window,因为在在success方法中,独享obj调用自己,所以this指向obj 3、在构造函数或者构造函数原型对象中this指向构造函数的实例 1...,将this由window指向Person的实例对象people

    34620

    JavaScript中this指向问题,暴力理解终极方法

    对于js来说,this就是传说中的当前运行环境,其实理论知识一大把,但是很多程序员看到有些写法还是会懵逼,比如dom.onclick事件里调用事件里自己的方法,为啥指向的是window对象?...,this就指向哪个对象。...写法二中bb()缺省就是window对象的方法,不管bb()在哪里调用都一样,window.bb()也就是调用当前作用域里的bb方法。...所以写法三也是window.aa(),即使aa()是在bb()里调用的。 注意:首先感谢下面评论,ES6的箭头函数是特例,箭头函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。...这是箭头函数封装之后的结果,按照JS的this原理,箭头函数中调用的方法肯定是通过window对象调用来实现的。

    41320

    JavaScript中的变量查找

    众所周知,JavaScript变量是按照作用域链来进行查找的(作用域和作用域链相关知识可参看我的另一篇文章,《基于JavaScript作用域链的性能调优》), 那么,对于一个简单的赋值操作,等号左右两边变量的查找方式一样吗...LHS和RHS查询区别 (1) LHS查询 当JavaScript引擎执行LHS查询时,如果在顶层作用域中无法找到目标变量,那么,就会在全局作用域中创建一个具有该名称的变量,并将其返回给引擎(非严格模式下...参考文章首部的例子: b = 4; console.log(b); // 4 delete b; console.log(window.b); // undefined 程序中并没有声明变量b,但是由于...(2) RHS查询 当JavaScript引擎执行RHS查询时,如果在作用域链中都无法找到目标变量,那么,引擎会抛出ReferenceError异常。...小贴士 (1) 变量提升 概念:用var声明的变量,总是会被JavaScript解释器悄悄地“提升”到方法体的最顶部。

    1.5K10

    javascript-this的指向的问题

    javasript函数中this的指向一直都是许多编程入门新手的一个问题,老师把这个this的指向弄错误。下面我们可以来看看关于this指向的几种情况。...不过在讲之前,请各位始终记住一句话: JavaScript中的this一直指向触发这个事件(函数)的这个Objoct(对象)。...* 答案是的 null * 而在 js 中,如果 this 的指向是null会自动转换为 window */ t(); 或者是这样: function t(){ function t2(){...js中的对象,函数等都是存放在内存中,给其他对象赋值为这个函数的时候就是让这个对象的这个属性指向内存中的这个函数,所以,不管上面的是怎样赋值,cat与dog的intro的值是指向同一个函数的。...其实也就是最开始说的那句: JavaScript中的this一直指向触发这个事件(函数)的这个Objoct(对象)。

    63110

    C语言 | 指向结构体变量的指针变量

    例40:C语言实现通过指向结构体变量的指针变量变量输出结构体变量中的信息。...解题思路:在主函数中声明了struct student类型,然后定义了一个struct student类型的变量s_1,又定义了一个指针变量p,它指向一个struct student类型的对象,将结构体变量...s_1的起始地址赋给指针变量p,也就是使p指向s_1,然后对s_1的各个成员赋值。...    struct student *p;//定义结构体指针变量    p=&s_1;//将s_1得地址赋给指针变量    s_1.num=10010;//赋值    strcpy(s_1.name,...思考两个问题,怎么对结构体变量成员赋值?怎么通过指向结构体变量的指针访问结构体变量中成员? C语言 | 通过指向结构体变量的指针变量输出结构体变量中的信息 更多案例可以go公众号:C语言入门到精通

    1.8K2218

    图解javascript this指向什么?

    而 JavaScript 中this 在运行期进行绑定的,这是JavaScript 中this 关键字具备多重含义的本质原因。   ...这个明显是,进入“是”分支,即this指向np;   2)那么this.x=1,即np.x=1;   Point(2,2)函数在var p= Point(2,2)中的this在 "JavaScript...一个函数被执行时,会创建一个执行环境(ExecutionContext),函数的所有的行为均发生在此执行环境中,构建该执行环境时,JavaScript 首先会创建 arguments变量,其中包含调用函数时传入的参数...然后初始化变量,首先初始化函数的形参表,值为 arguments变量中对应的值,如果 arguments变量中没有对应值,则该形参初始化为 undefined。...JavaScript 中的变量作用域非常重要,鉴于篇幅,我们先不在这里讨论这个话题。

    68790

    JavaScript基础02--this指向

    和函数在哪定义无关,但是和函数怎么调用有关this理解的关键:1:this永远指向一个对象;2:this的指向完全取决于函数调用的位置;1、全局在全局上下文(任何函数以外),this指向全局对象。...第三步: 执行构造函数中的代码第四步: 返回新生成的对象实例4.call和applycall和apply可以指定函数运行时的this`call方法使用的语法规则函数名称.call(obj,arg1,arg2......argN);参数说明:obj:函数内this要指向的对象,arg1,arg2...argN :参数列表,参数与参数之间使用一个逗号隔开apply方法使用的语法规则函数名称.apply(obj,[arg1...1, b:3};add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34【小结】在JavaScript...中,this指向是个比较容易忽视的问题,本文从多方面剖析了this的具体应用。

    20310

    深入理解JavaScript的this指向问题

    Javascript的this用法 this是Javascript语言的一个关键字。 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。...但是有一个总的原则,那就是this指的是调用函数的那个对象。 下面分四种情况,详细讨论this的用法。...情况一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。 请看下面这段代码,它的运行结果是1。...function test(){     this.x = 1;   }   var o = new test();   alert(x); //2 运行结果为2,表明全局变量...情况四 apply调用 apply()是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象。因此,this指的就是这第一个参数。

    45220

    C++指向结构体变量的指针

    C++通过指向结构体变量的指针引用结构体变量中的成员 C++中,一个结构体变量的指针就是该变量所占据的内存段的起始地址,指针变量也可以用来指向结构体数组中的元素。 ...C++提供了指向结构体变量的运算符->,例如: p->num;//表示指针p当前指向的结构体变量中的成员num p->num 和(*  p).num 等价,同样,p->namep->name等价于(*p...p->n;//得到p指向的结构体变量中的成员n值。 p->n++;//得到p指向的结构体变量中的成员n的值,用完该值后使它加1。...++p->n;//得到p指向的结构体变量中的成员n的值,并使之加1,然后再使用它。 经典案例:C++指向结构体变量的指针。...C++指向结构体变量的指针 更多案例可以go公众号:C语言入门到精通

    2.9K118
    领券