LINUX.ORG.RU

Ответ на: комментарий от anTaRes

typeof(func1('home')) = object

и через вторую функцию надо взаимодействовать с объектом из первой,но вторая функция не обезательная, т.е. чтоб второй функции может и не быть

jessgt
() автор топика
Ответ на: комментарий от sholom

пробовала, но вот дальше этого не получилось )))

надо чтоб можно было выполнить так alert(func1(«hello »)); и так alert(func1(«hello »).func2(«world»));

)))) т.е. чтоб вторая была не обезательная )

jessgt
() автор топика
Ответ на: комментарий от x3al

Только не трогай нативные прототипы без очень хорошей причины. Лучше сделай композицию функций или ещё что.

x3al ★★★★★
()
Ответ на: комментарий от jessgt

Например

func1('home').add('man'); func1('home').del('man');

но и чтоб так можно было тоже var home = func1('home')

jessgt
() автор топика

Обычно это на экземплярах класса делают. Тогда в методах просто `return this`.

Некоторые библиотеки умеют принудительно оборачивать под себя https://lodash.com/docs#_. Поковыряй лодаш, это вообще полезно для общего развития и чтобы велосипеды не делать.

Vit ★★★★★
()
Ответ на: комментарий от jessgt

)))) т.е. чтоб вторая была не обезательная )

Что значит необязательная? И что мешает возвращать this, скажем в пределах какого-нибудь объекта?

var Test = {
    tf1 : function(str) {
        console.log(str);
        return this;
    },
    tf2 : function(str) {  
        console.log(str);
	return this;
    }
}

Test.tf1("test1"); //test1
Test.ft2("test2").tf2("test3"); //test2 test3
Выше уже правильно сказали, лучше не городить велосипедов, а посмотреть готовые либы.

znenyegvkby
()
Ответ на: комментарий от jessgt

надо чтоб можно было выполнить так alert(func1(«hello »)); и так alert(func1(«hello »).func2(«world»));



strings = {
  value: "",
  append: function(arg){
    this.value += " " + arg
    return this
  },
  create: function(){return Object.create(this)}
}

createString = function(arg){return strings.create().append(arg)}

myAlert = function(arg){alert(arg.value)}

myAlert(createString("hello!"))
myAlert(createString("hello").append("world!").append("Once again hello!"))



//>>>>  hello!
//>>>>  hello world! Once again hello!

Но вообще-то место женщины — у плиты.

filequest
()
15 января 2017 г.
Ответ на: комментарий от no-such-file

Спасибо. А не подскажете как такое проделать на php? Чтоб также результат функции были другие функции? )))) без классов такое реализуемо?

jessgt
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.