是否可以在Javascript中的变量名称中添加点?

时间:2016-03-17 11:13:49

标签: javascript

我使用console.log(value)然而当我使用console.log()时如果我想玩弄东西并让它做其他事情有一种方法我可以创建像...这样的函数

var console.log = (function() { // something }

5 个答案:

答案 0 :(得分:4)

您可以为console.log函数创建一个包装器,然后只使用您的包装器写入控制台:

function myCustomConsoleLog() {
  // do stuff with your arguments
  console.log(arguments)
}

现在,您不必拨打console.log(vars)来拨打myCustomConsoleLog(vars)

答案 1 :(得分:3)

您不需要再次声明 console.log,因为它已经宣布了。

在Javascript中,console是一个全局变量。没有什么可以阻止您添加,编辑或删除属性。

所以是的,你可以为console.log或其他任何你想要的东西分配不同的功能:

console.log = function(foo, bar) { ... }
console.anotherProperty = { ... }

但是,如果您尝试创建一个foo.bar变量,则可以通过多种方式实现:

// first approach
var foo;
foo.bar = function() { ... };

// second approach
var foo = {
  bar: function() { ... };
};

// third approach
var fnBar = function() { ... };
var foo = { bar: fnBar };

点击Console API docsWorking with objects了解详情。

答案 2 :(得分:0)

这是你尝试的方式所不可能的。

你可以做的是创建一个对象并添加一些对象:

var obj = {}; // we create an object where we will add the functions
obj.i = 4; // a value
obj.log = function() { }; // a function 

答案 3 :(得分:0)

你可以这样做,比如:

var console = {log:function(){  }};

答案 4 :(得分:0)

我想你可以这样做:

var console = {}
console.log = "alert me!"
alert(console.log);

这是你的意思吗?