分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

JS之this与语句分号问题v(**V**)v

发布时间:2023-09-06 02:31责任编辑:彭小芳关键词:暂无标签
 1 <script > 2 ????//this知识 3 ????//*Q:什么是this? 4 ????//*A:所有函数内部都有一个this,任何函数本质上都是通过某个对象来调用的,如果没有直接指定就是window 5 ????//* ??它的值是调用函数的当前对象 6 ????//*Q:如何确定this的值 7 ????//*A:test:window 8 ????// ???p.test():test 9 ????// ???new test():新创建的对象10 ????// ???p.call(obj):obj11 12 ????function Person(color) {13 ??????console.log(this)14 ??????this.color = color;15 ??????this.getColor = function () {16 ????????console.log(this)17 ????????return this.color;18 ??????};19 ??????this.setColor = function (color) {20 ????????console.log(this)21 ????????this.color = color;22 ??????};23 ????}24 25 ????Person("red"); //this是谁? window26 27 ????var p = new Person("yello"); //this是谁? p28 29 ????p.getColor(); //this是谁? p30 31 ????var obj = {};32 ????p.setColor.call(obj, "black"); //this是谁? obj33 34 ????var test = p.setColor;35 ????test(); //this是谁? window36 37 ????function fun1() {38 ??????function fun2() {39 ????????console.log(this);40 ??????}41 42 ??????fun2(); //this是谁? window43 ????}44 ????fun1();45 46 ????//JS关于加分号问题‘47 ????//js一条语句后面可以不加分号48 ????//是否加分号是编码风格问题,没有应该或不应该,只有你喜不喜欢49 ????//但在以下情况下不加分号会出现问题,要求需要在前面加一个分号50 ????//小括号开头的前一条语句51 ????//中括号开头的前一条语句52 ????var a=353 ????;(function () {//匿名函数自调用前面如果不加分号会出现错误,所以需要在前面加上一个括号54 55 ????})()56 57 ????var b=458 ????;[1,2].forEach(function () {//这里在IDE上不会显示红线,但在运行中会出现编译错误,所以这里也要加一个分号,最好是加在一条语句的前面59 60 ????})61 ????/*62 ????编译器的错误理解:var b=4[1,2].forEach(function () {//就会报undefined63 ????})64 ????*/65 ??</script>

JS之this与语句分号问题v(**V**)v

原文地址:https://www.cnblogs.com/junxiaobai/p/10336127.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved