首页
学习
活动
专区
工具
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的值。

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

相关·内容

Javascriptthis指向

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

91800

JavaScriptthis指向问题

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

24160
  • JavaScriptthis指向哪?

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

    14410

    JavaScriptthis指向问题

    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{} 箭头函数,指向上级作用域

    79031

    javascript对于this指向再次理解

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

    1.3K20

    第149天:javascriptthis指向详解

    jsthis指向十分重要,了解jsthis指向是每一个学习js的人必学知识点,今天没事,正好总结了jsthis常见用法,喜欢可以看看: 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,在objthis指向window,因为在在success方法,独享obj调用自己,所以this指向obj 3、在构造函数或者构造函数原型对象this指向构造函数实例 1...,将this由window指向Person实例对象people

    33820

    JavaScriptthis指向问题,暴力理解终极方法

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

    40620

    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

    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指向问题

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

    62110

    图解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 变量作用域非常重要,鉴于篇幅,我们先不在这里讨论这个话题。

    68090

    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具体应用。

    19710

    深入理解JavaScriptthis指向问题

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

    44620

    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.8K118
    领券