我有一个字段供用户输入CSS选择器,我想检查它是否有效(根据css3规范).我尝试使用css3规范中的表达式,如另一个stackoverflow主题中所建议的那样,但它不起作用 - 我构建的正则表达式与有效选择器不匹配.我现在拥有的只是:
try {
document.querySelector(selector);
} catch (e) {
// handle bad input
}
Run Code Online (Sandbox Code Playgroud)
但它似乎不是一个好的解决方案 - querySelector函数是为获取元素而设计的,而选择器的检查只是一个副作用.此外,它不提供有关选择器出错的任何信息.
我正在寻找的是document.validateSelector用于解析CSS选择器的类似的东西.
我有一个 MS Access 数据库。所有名称(表、字段、数据等)均采用乌克兰语。我的Access和Windows都是英文的。当我尝试在 VBA 编辑器中用乌克兰语键入表名称时,会发生以下情况:

所有标识符都是一样的。显然这段代码不起作用。有什么方法可以修复它而不重命名所有内容?
我需要记录document.cookie的设置。我不能只用重新定义cookie属性,document.cookie = {...}所以我需要为document.cookie设置setter。但是Object.getOwnPropertyDescriptor(document, "cookie")回报undefined。
UPD。当我写问题时,我找到了一个可行的解决方案,但是它使用了弃用的__lookupGetter__和__lookupSetter__方法。有没有不使用过时的API的解决方案?
据我了解,GC从一组初始对象(堆栈,静态对象)开始,然后递归遍历它,以建立可达对象图。然后,将这些对象占用的内存标记为已占用,并假定其余所有内存均已释放。
但是,如果此“空闲”内存包含具有finalize方法的对象怎么办?GC必须调用它,但是我不知道它怎么能知道不再可访问的对象。
我想GC可以在所有“可完成的”对象存活时对其进行跟踪。如果是这样,拥有可终结化的对象是否会使垃圾回收即使在它们还活着的情况下也变得更加昂贵?