前端语言的一些理解

1、关于this

在面向对象语言中 this 表示当前对象的一个引用。

但是到了 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变。

  • 在方法中,this 表示该方法所属的对象。
  • 如果单独使用,this 表示全局对象。
  • 在函数中,this 表示全局对象。
  • 在函数中,在严格模式下,this 是未定义的(undefined)。
  • 在事件中,this 表示接收事件的元素。
  • 类似 call() 和 apply() 方法可以将 this 引用到任何对象。

标签元素中可绑定点击事件将当前标签对象通过this传给js函数,函数就可以获的/改变这个标签的所有内容,例如下面的例子

<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>

<button id="123" type="button" onclick="test(this)">点我</button>

</body>
<script>

  function test(data) {
    console.log("这里的data就是button这个标签元素对象")
    var a = '标签的id为:' + data.id + ',标签的类型为:' + data.type + ',标签的内容为:' + data.innerHTML
    alert(a)
    data.type = 'submit'
  }

</script>
</html>

2、关于js中的对象

js中的对象在某种意义上基本上就可以理解为json字符串

JSON 本质就是字符串?

3、关于调试

最好使用在代码里添加console.log(this)运行后,打开浏览器控制台可看到运行时的this内容
善用Chrome浏览器的控制台对js的执行进行断点,打了断点后必须打开控制台才会生效,否则是不会进入断点的,在想要打断点的地方输入console.log(this)后,进入控制台就可以进入js实际执行的位置,然后进行断点调试

4、关于字符串

很多方法调用,或者数据传递的引用都是通过字符串直接进行传递的,这一点很不友好,需要着重理解

posted @ 2022-09-17 00:41  黄河大道东  阅读(19)  评论(0编辑  收藏  举报