как мне создать функцию, включающую точку

#javascript #function #console.log

#javascript #функция #консоль.журнал #console.log

Вопрос:

Я хочу создать функцию с именем «lib.hello» — это допустимый синтаксис, и если нет, то как мне это сделать? вот вам мой код function lib.hello(){ console.log("hello") }

 function lib.hello(){
  console.log("hello")
}  

Комментарии:

1. const lib = { hello: () => console.log("hello"); } . Затем вы можете вызвать метод, например lib.hello()

2. @Keith В объекте обозначение метода короче и предпочтительнее: const lib = { hello(){ console.log("hello"); } }; .

Ответ №1:

Вы можете сделать это следующим образом

 function yourClass() {
}

yourClass.prototype.dotFunction = function() { return 'hello'; };

console.log(new yourClass().dotFunction());
  

Ответ №2:

сначала вы должны создать объект, затем вы делаете это так же, как показано ниже.

 let Obj = {
  a:1,
  childMethod:(param)=>{console.log(param)}
}
Obj.childMethod("test")  

Или вы можете сделать это с помощью приведенного ниже кода:

 function yourClass() {
}

yourClass.prototype.childMethod = function(parameter) { console.log(parameter); };

var a = new yourClass();
a.childMethod("test");

//or you can do it same as follow

new yourClass().childMethod("test2")  

Ответ №3:

Почему вы просите это сделать? Это похоже либо на проблему XY, либо на теоретическое упражнение.

Как упоминалось в других ответах, вы можете создать класс с именем lib с именем метода hello , но это не совсем то же самое, что функция с именем lib.hello .

Вот еще один вариант:

 let a = {
    'lib.hello' : function() {
        console.log('hello');
    }
}

a['lib.hello']()
  

Технически это анонимная функция, а не функция с именем lib.hello , но это то, о чем вы просите, потому что оно связано с ключом lib.hello .