将css样式规则作为Javascript函数中的参数输入的正确方法是什么?
通过将任何样式规则和值作为参数的函数设置HTML画布元素样式的正确方法是什么?是的,我知道直接Javascript方法会奏效。setCSS()函数是版本2 setCSS()函数的测试平台,该函数旨在通过使用对象数组(键、值)作为参数来设置多个css样式,以便每个对象表示单个css属性。以下是我所拥有的不起作用的东西:将css样式规则作为Javascript函数中的参数输入的正确方法是什么?,javascript,css,parameters,functional-programming,html5-canvas,Javascript,Css,Parameters,Functional Programming,Html5 Canvas,通过将任何样式规则和值作为参数的函数设置HTML画布元素样式的正确方法是什么?是的,我知道直接Javascript方法会奏效。setCSS()函数是版本2 setCSS()函数的测试平台,该函数旨在通过使用对象数组(键、值)作为参数来设置多个css样式,以便每个对象表示单个css属性。以下是我所拥有的不起作用的东西: function init() { 'use strict'; let can = document.getElementById('can
function init() {
'use strict';
let can = document.getElementById('canvas');
let ctx = canvas.getContext('2d');
resizeBlock(can, 50, 50);
// Tried both forms individually by commenting out other function
setCSS(can, 'borderWidth', '20px');// not working
setCSS(can, 'borderWidth', '20');// not working
}
function setCSS(element, rule, value) {
element.style.rule = value;
return element; // should element return or not?
}
init
是函数,init()
是调用函数的结果
function init() { ...snip... }
window.onload = init;
因此,这将起作用:
window.onload = init;
另外,您可能希望在定义init()
函数之后放置它
function init() { ...snip... }
window.onload = init;
window.onload=init代码>不带括号。在您的示例中:window.onload=init()
与:window.onload=undefined
相同,因为执行init
会产生undefined
(不返回任何内容)。相反,您不应该执行该函数,只需传递对该函数的引用,以便在窗口加载时调用它。即使您遵循上面的示例,它也不会作为窗口工作。onload被您的第二个函数覆盖。可能重复@Jonasw这些函数是相同的,OP只是询问为什么第二个可以工作而第一个不能工作。他并不想有两个加载事件。在定义函数后不需要。阅读有关变量提升的内容。