Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

js self

作者:妳會吥會在吥經意間想起莪?   发布日期:2025-03-29   浏览:42

// 示例代码:使用 self 关键字

// 在浏览器环境中,self 是一个全局对象,指向当前的 window 对象。
// 在 Web Worker 中,self 则指向 worker 的作用域。

// 示例 1: 在全局作用域中使用 self
console.log(self === window); // true,在浏览器环境中 self 和 window 指向同一个对象

// 示例 2: 使用 self 作为 this 的别名
function Counter() {
    let count = 0;
    const self = this; // 将 this 赋值给 self,确保在嵌套函数中也能访问到正确的 this
    setInterval(function() {
        console.log(self.count++); // 使用 self 访问 this
    }, 1000);
}

const counter = new Counter();

// 示例 3: 在 Web Worker 中使用 self
// 在 Web Worker 中,self 是唯一的全局对象,用于与主线程通信
// self.postMessage('Hello from worker');
// self.onmessage = function(event) {
//     console.log('Message received:', event.data);
// };

解释说明:

  1. 全局作用域中的 self:在浏览器环境中,selfwindow 是等价的,都指向全局对象。
  2. self 作为 this 的别名:有时在嵌套函数或回调函数中,this 的指向会发生变化。通过将 this 赋值给 self,可以确保在嵌套函数中仍然能够正确访问外部的 this
  3. Web Worker 中的 self:在 Web Worker 中,self 是唯一的全局对象,用于与主线程进行通信。

上一篇:js trycatch

下一篇:js =>

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js 数组复制

js 复制数组

js 数组拷贝

js 对象转数组

js 深拷贝数组

js 获取今天年月日

js jsonp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站