在 JavaScript 中,您可以使用 .css 获取 CSS 变量的值getPropertyValue(property)。此函数可用于检索:root块中声明的变量。
:root {
--example-var: 50px;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果此变量表达式包含类似 的函数calc,则该getPropertyValue调用将表达式作为文本返回而不是计算它,即使使用getComputedStyle.
:root {
--example-var: calc(100px - 5px);
}
Run Code Online (Sandbox Code Playgroud)
如何获取使用 CSS 函数的 CSS 变量的计算值calc?
请参阅下面的示例:
:root {
--example-var: 50px;
}
Run Code Online (Sandbox Code Playgroud)
:root {
--example-var: calc(100px - 5px);
}
Run Code Online (Sandbox Code Playgroud)
let div = document.getElementById('example');
console.log(window.getComputedStyle(div).getPropertyValue('--example-var'))Run Code Online (Sandbox Code Playgroud)
假设我有一个ArrayList,其中填充了不同类型的对象......
ArrayList<Fruit> shelf = new ArrayList<Fruit>();
Apple apple = new Apple();
Orange orange = new Orange();
Pear pear = new Pear();
shelf.add(apple);
shelf.add(orange);
shelf.add(pear);
Run Code Online (Sandbox Code Playgroud)
我想知道是否shelf包含一个Orange对象.我试过了
shelf.contains(Orange.class)
Run Code Online (Sandbox Code Playgroud)
但这并不是真的.我的理解是contains利用equals方法进行对象比较,所以我不确定为什么会这样.
我意识到我可以简单地遍历ArrayList并单独检查对象的类型,但我很好奇为什么contains不按照我期望的方式行事.
根据文档,BufferedReader(Reader)使用默认缓冲区大小,而第二个构造函数BufferedReader(Reader, int)允许设置缓冲区大小.
public BufferedReader(Reader in)
创建使用默认大小的输入缓冲区的缓冲字符输入流.
但是,文档并未提及默认缓冲区大小.
BufferedReader的默认缓冲区大小是多少?
在讨论多捕捉/混合catch块在这里与术语之间的模糊"多catch块",意思是Java 7的特性:
try { .. } catch (ExceptionA | ExceptionB ex) { .. }
Run Code Online (Sandbox Code Playgroud)
和"多个捕获块",意思是字面上,多个捕获块:
} catch (ExceptionA exa) { ..
} catch (ExceptionB exb) { .. }
Run Code Online (Sandbox Code Playgroud)
我已经研究过,看看Java 7功能是否有一个特定的官方名称,可以用它来清楚地区分它与捕获多个异常的旧方式.但是,Oracle 资源似乎并没有在任何地方命名这个功能,而其他一些来源(如Eclipse和SO)称之为"多捕获"块.
是否有任何官方的,Oracle给出的此功能名称?
我目前正在使用BigDecimal,它给了我更多的小数,但还不足以满足我的目的.我需要能够一直到10 ^ 6数字.这是我目前的代码
BigDecimal num = new BigDecimal(103993/33102.0);
pw.println(num.toString());
Run Code Online (Sandbox Code Playgroud)
它输出3.14159265301190249175533608649857342243194580078125
其中数字实际上有更多的小数:http://www.wolframalpha.com/input/?i = 103993%2F33102
PHP 5.5已经实现finally了try-catch.我的疑问是:到底哪个try-catch-finally可能比我在下面写的更有帮助try-catch?
例子,区别:
try { something(); }
catch(Exception $e) { other(); }
finally { another(); }
Run Code Online (Sandbox Code Playgroud)
而不仅仅是:
try { something(); }
catch(Exception $e) { other(); }
another();
Run Code Online (Sandbox Code Playgroud)
可以给我发一些这种情况常见的例子吗?
备注:
try-catch-finally而不是谈论try-finally;finally;notcatch?所以我可以运行代码,如果try没有例外.呵呵我有一个JScrollPane具有适度高的块增量(125).我想对其应用平滑/慢速滚动,以便在滚动时不跳转(或跳过).我怎样才能做到这一点?
我在考虑像Windows 8一样滚动.
任何帮助将不胜感激!
我使用以下正则表达式时遇到问题.它在regexr和rubular中工作正常,但在node.js上运行它时会出错.我使用正则表达式相当新,我不确定我做错了什么.如果我敲掉它就行了,(?<= )所以我认为这是问题所在.
我正在尝试将'is'与使用的前导和尾随空格匹配 /(?<= )is(?= )|==/g
测试词示例:http:
//regexr.com?33781
节点错误输出
temp = temp.replace(/(?<= )is(?= )|==/g, '===');
^
SyntaxError: Invalid regular expression: /(?<= )is(?= )|==/: Invalid group
at new RegExp (unknown source)
Run Code Online (Sandbox Code Playgroud) 我对以下代码片段有疑问:它是一个数独求解器,通过填充空单元格来解决数独谜题.我无法真正理解求解器方法背后的逻辑.为什么在尝试k = 1-9后返回false,并在遍历所有单元格后返回true.我的想法是我们递归进入solver()方法,一旦数独完成,它将返回true作为调用顺序,最后第一个被调用的solver()将返回true.我想我必须省略上面两个"返回"发生的情况.有人可以向我解释为什么这些"回归"存在?
public class Solution {
public static void main(String[] args) {
Solution s = new Solution();
char[][] board = {{'.', '2', '6', '5', '.', '.', '.', '9', '.'},
{'5', '.', '.', '.', '7', '9', '.', '.', '4'},
{'3', '.', '.', '.', '1', '.', '.', '.', '.'},
{'6', '.', '.', '.', '.', '.', '8', '.', '7'},
{'.', '7', '5', '.', '2', '.', '.', '1', '.'},
{'.', '1', '.', '.', '.', '.', '4', '.', '.'},
{'.', '.', '.', '3', '.', …Run Code Online (Sandbox Code Playgroud) 使用以下代码:
Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK)
Run Code Online (Sandbox Code Playgroud)
不幸的是,只返回false.
根据文档,这应该工作:http://docs.oracle.com/javase/8/docs/api/java/awt/Toolkit.html#getLockingKeyState-int-
可运行的例子:
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Foo {
public static void main(String[] args) {
ExecutorService executorService = Executors.newFixedThreadPool(1);
executorService.execute(new Runnable() {
public void run() {
while(true) {
try{ Thread.sleep(250); }catch(Exception ignored) { }
System.out.println("Capslock state: " + Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK));
}
}
});
executorService.shutdown();
}
}
Run Code Online (Sandbox Code Playgroud)
应该补充说我在Windows上使用Java SE 1.8并且我的Caplock键工作正常
控制台输出截图:

java ×7
javascript ×2
arraylist ×1
bigdecimal ×1
buffer ×1
css ×1
formatting ×1
jscrollpane ×1
multi-catch ×1
naming ×1
node.js ×1
php ×1
regex ×1
scroll ×1
sudoku ×1
swing ×1