当前位置: 首页 > wzjs >正文

网站开发公司制作平台wordpress怎么自定义表情

网站开发公司制作平台,wordpress怎么自定义表情,seo攻略,报告怎么写红宝书第七讲:this绑定与强制类型转换详解(小白指南) 资料取自《JavaScript高级程序设计(第5版)》。 查看总目录:红宝书学习大纲 一、this绑定:对话中的主角是谁? 简单比喻 假设你…

红宝书第七讲:this绑定与强制类型转换详解(小白指南)

资料取自《JavaScript高级程序设计(第5版)》。
查看总目录:红宝书学习大纲


一、this绑定:对话中的主角是谁?

简单比喻
假设你在餐厅点菜,this相当于当前服务的服务员:

  • 不同场景服务员会变:包厢用餐 → 专属服务员(对象方法) / 大堂吧台 → 公共服务员(全局对象)

四大绑定规则

  1. 默认绑定 → 指向全局(餐厅大厅服务员)

    function 找服务员() {console.log(this === window);    // 非严格模式 ✅ 
    }
    找服务员(); // 默认指向window(浏览器中)
    
  2. 隐式绑定 → 指向调用者(包厢专属服务员)

    const 包厢 = {服务员名: "小王",点菜() {console.log(this.服务员名);  // ✅ 小王}
    };
    包厢.点菜(); 
    
  3. 显式绑定 → call/apply指定(指定服务员)

    function 点菜() { console.log(this.推荐菜); }
    const 今日推荐 = { 推荐菜: "红烧肉" };点菜.call(今日推荐);  // ✅ 红烧肉[^4]
    
  4. 箭头函数 → 绑定定义时的this(固定服务员)

    const 包厢2 = {服务员名: "小李",点菜: () => console.log(this.服务员名)  
    };
    包厢2.点菜();  // ❌ 输出undefined(箭头函数绑定全局this)[^4]
    

二、强制类型转换:自动变身的魔法

核心概念:JavaScript会自动转换变量类型以适应操作。

  1. 隐式转换(魔法自动触发)

    console.log(5 + "5");    // "55"(数字→字符串)[^2]
    console.log("5" == 5);   // true(字符串→数字比较)
    
  2. 显式转换(手动触发招式)

    const 输入 = "123";
    console.log(Number(输入));         // 123(数字)
    console.log(Boolean("非空字符串")); // true[^3]
    

高危陷阱示例 → 空字符串的意外转换:

if ("") {  // ❌ 空字符串转为false,永远不会执行
}
if (0) { // 同上 } 
// 正确做法:显式判断类型[^2]
if (typeof value !== "undefined") 

三、双重保险:严格模式下的限制

严格模式下("use strict"),部分危险行为被禁用:

  • this不再指向全局 → 未绑定时为undefined1
    function 测试() {"use strict";console.log(this);  // undefined(非严格模式指向window)
    }
    测试();
    

四、综合避坑指南

1. this绑定铁律

  • 用箭头函数固定作用域(需要时)
  • 明确用call/apply/bind指定对象

2. 类型转换安全规范

  • ===!==避免隐式转换2
    "5" === 5   // false(不进行类型转换)
    
  • 敏感操作前显式转换类型
    const 用户输入 = "123";
    const 数字 = Number(用户输入); // ✅ 手动转换
    

实战练习

// 任务1:让点击按钮显示它的文字(正确绑定this)
button.addEventListener('click', function() {console.log(this.innerText); // ✅ "点击我"
});// 任务2:避免空值漏网
function 格式化价格(price) {price = Number(price || 0);  // 转换为数字,默认值0return `${price.toFixed(2)}`;
}

记住:明确指定this和类型,代码更可靠!


目录:总目录
上篇文章:红宝书第六讲:作用域链与闭包:厨房里的调味料架原理
下篇文章:红宝书第八讲:箭头函数与高阶函数:厨房工具与智能菜谱的对比


  1. 严格模式下this不再默认绑定全局对象,《JavaScript高级程序设计(第5版)》 附录C ↩︎

  2. 推荐使用严格相等符避免类型转换错误,《JavaScript高级程序设计(第5版)》 第3章 ↩︎

http://www.dtcms.com/wzjs/562588.html

相关文章:

  • 上海网站建设怎么响应式网页设计项目
  • 贵州建设职业技术学院网站查成绩查询做app推广上哪些网站
  • 网站主机在哪里注册呢如何建设企业微网站
  • 江西住房城乡建设网站seo排名赚挂机赚钱软件下载
  • 网站建设 代表联系群众登录页面设计图片
  • 内蒙古呼和浩特市做网站的公司俄罗斯乌克兰最新局势最新消息
  • 集团制度建设网站铜川新区网站建设招标
  • 长安营销服务协同管理平台网站素材中国
  • 可以做兼职的网站有哪些临淄网站制作首选专家
  • 静态页面网站wordpress 登陆插件下载
  • 临清建设网站商城网站要怎样设计
  • 珠宝网站官网建设需求百度关键词指数查询
  • 公司做网站需要哪些费用建个人博客网站
  • 推广网站seo做软件界面一般用什么软件
  • 怎样在手机上做网站西安哪有学做淘宝网站
  • 网站建设用cms石家庄网站app制作
  • 网站开发 混合式 数据库wordpress 缓存文件夹
  • 广东省建设职业注册中心网站广告设计公司vi
  • 网上智慧团建网站登录北京外包公司有哪些
  • 做一个综合性的网站多少钱如何成为网站开发工程师
  • 静态网站素材怎样做diy家具网站
  • vs做网站创建项目时选哪个网站美化怎么做
  • 江苏太仓建设局网站做网站数据库设计
  • 学院网站建设的作用wordpress小标签
  • 做好的网站地下城钓鱼网站怎么做
  • 石狮交通和建设局网站joomla适合做什么网站
  • 嘉兴网站建设多少时间线上推广引流渠道
  • 网站 制作自己怎么做网站首页
  • 平台网站营销型网站建设价值
  • 推客平台百度seo优化技巧