How to write my own functions similar to jquery? For example:
$('parameter1').doSomething('parameter2);
function $(p1){
   var doSomething=function(p2){}; // this does not work to call....
}
How to write my own functions similar to jquery? For example:
$('parameter1').doSomething('parameter2);
function $(p1){
   var doSomething=function(p2){}; // this does not work to call....
}
Try defining $ as property of global window object ; creating an object obj within $() function having property doSomething , setting window.$ to object obj ; creating an alias for window.$ utilizing a namespace; return window.$ object having property .doSomething  from call to $()
window.$ = function $(args) {
  var obj = {
    doSomething: function doSomething(args) {
      // do stuff
      document.write(args + "\n");
      console.log(this);
      // return `window.$`
      return window.$
    }
  };
  // create alias for `window.$`
  var namespace = "abc";
  // set `window.$` to `obj`
  window.$ = window[namespace] = obj;
  if (args && window.$) {
    window.$.doSomething.call(window.$, args)
  };
  // return `window.$`
  return window.$
};
$("abc").doSomething("def"); 
    
    First you'll need to understand the concept of method chaining in JavaScript.
Your $() method in the example above doesn't return anything.
Even if it did, the object returned from your $() method would also need to have a doSomething() method.
For example:
$ = function(id) {
    return document.getElementById(id);
}
$('foobar').doSomething(); //assumes doSomething() exists on the returned object.
