所以我承认我是javascript的新手,我来自C. +背景("嗨,我是Bob,我是一个基于类的静态语言用户",合唱 "嗨Bob!").
我发现我经常最终编写如下函数:
function someFunc()
{
if (arguments.length === 0 ){
...
} else {
...
}
}
Run Code Online (Sandbox Code Playgroud)
(可能有三个这样的情况).或者,或者,我将差异写入名称:
function someFuncDefault() { ... };
function someFuncRealArg(theArg) { ... };
Run Code Online (Sandbox Code Playgroud)
(用"RealArg"代替一些语义上满意的短语).
这种事情有更好的模式吗?
我正在努力使用javascript将内容添加到网页.问题是IE(7)中的CSS似乎不适用于动态添加的内容.
这是一个示例文档..
<html>
<head>
<style type="text/css">
p.foo { color: #FF4400 ; background-color: #000000 }
p.bar { color: #FF0000 ; background-color: #000000 }
</style>
<script type="text/javascript">
function add() {
var node = document.createElement("p");
node.setAttribute("class", "bar");
node.appendChild(document.createTextNode("New Content"));
document.body.appendChild(node);
};
</script>
</head>
<body onload="add()">
<p class="bar">bar</p>
<p class="foo">foo</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在FF中,新添加的"新内容"段落具有应用于它的样式,但在IE中,它没有.这看起来很明显,它应该很容易搜索到,但是一些明显的查询并没有给我任何东西.
那么诀窍是什么?