我想知道是否有可能创建一个名为“undefined”的函数,以便在调用undefined()时不会出错?
我试过这样做
var obj = {};
obj[undefined] = function() {};
obj.undefined();
但是,我想做这样的事情:
window[undefined] = function() {};
但我的浏览器(Chrome 44)不允许这样做。
有什么想法吗?
答案 0 :(得分:2)
因为CREATE PROCEDURE [dbo].[getMonthMaxVal]
@from DATE,
@to DATE
AS
BEGIN
SET NOCOUNT ON;
SELECT ds22.*
FROM ( SELECT
MAX(DAY(ds.datum)) AS TagMax,
MONTH(ds.datum) AS MonatMax,
YEAR(ds.datum) AS JahrMax,
CONVERT(DATE, MAX(ds.datum)) AS DatumMax
FROM QR_DS022s ds
WHERE ds.datum >= @from AND ds.datum <= @to
GROUP BY MONTH(ds.datum), YEAR(ds.datum)) maxDate
INNER JOIN QR_DS022s ds22
ON maxDate.DatumMax = CONVERT(DATE, ds22.datum)
ORDER BY ds22.datum
END
是undefined
对象的不可写属性。
window
由于它不可写,所以它只是忽略了写操作。
引用MDN documentation on undefined
,
在现代浏览器(JavaScript 1.8.5 / Firefox 4+)中,
Object.getOwnPropertyDescriptor(window, "undefined").writable false
是ECMAScript 5规范的不可配置,不可写属性。即使不是这种情况,也要避免覆盖它。