这是我最近在我的课程中提出的T/F问题,我发现有点令人困惑.
教科书指出:
=运算符可用于将一个对象的数据分配给另一个对象,或者用另一个对象的数据初始化一个对象.默认情况下,一个对象的每个成员都复制到另一个对象中的对应成员.
逐字的问题是:
除非重载运算符,否则不能使用=运算符将一个对象的值分配给另一个对象.T/F?
从教科书的那一段来看,我的回答是错误的.然而,事实证明测验答案实际上是正确的.
当我在网上查询问题时,我看到其他来源也将答案列为"假".当然,这些只是通用的闪卡/测验网站,所以我不会在其中放入太多的股票.
基本上,我只是好奇真正的答案是为了未来的学习目的.
PS:教科书后来继续说:"为了改变赋值运算符的工作方式,它必须重载.运算符重载允许你在与类对象一起使用时重新定义现有运算符的行为."
我觉得这是相关的,支持"真实"的答案,但我不太确定.
到目前为止我所拥有的:
清单.json
{
"name": "Testing",
"version": "0.1",
"manifest_version": 2,
"description": "Hi there.",
"background": {
"scripts": ["background.js"]
},
"icons": {
"128" : "images/test.png"
},
"browser_action": {
"default_icon": "images/test2.png",
"default_title": "test"
},
"permissions": [
"webRequest",
"webRequestBlocking",
"https://www.google.com/*",
"http://www.dictionary.com/*"
]
}Run Code Online (Sandbox Code Playgroud)
背景.js
chrome.webRequest.onBeforeRequest.addListener(function(details) {
return {cancel: true};
},
{urls: ["https://www.google.com", "http://www.dictionary.com/*"]},
["blocking"]);Run Code Online (Sandbox Code Playgroud)
我希望通过加载这个解压的扩展程序,它会“阻止”列出的网站(使用 Google.com 和dictionary.com 进行测试)。我不确定阻止功能实际上是如何工作的,但我认为网站要么无法加载,要么会显示某种一般错误。
然而,似乎没有发生任何事情,所以我猜测我对“阻塞”的理解有缺陷和/或我的代码编写不正确。我的代码基于这些参考文献:
https://developer.chrome.com/extensions/examples/extensions/catblock/manifest.json https://developer.chrome.com/extensions/examples/extensions/catblock/background.js https://developer.chrome。 com/extensions/webRequest
“以下示例以更有效的方式实现了相同的目标,因为不针对 www.evil.com 的请求不需要传递给扩展程序:
chrome.webRequest.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]); "
Run Code Online (Sandbox Code Playgroud)
这是我第一次尝试制作 chrome 扩展,我对 html 或 javascript 不太熟悉,所以如果我的实现偏离了目标,我深表歉意。