How does AngularJs make its selectors In HTML without the need/using script tag? I've seen this happening in html via angular allot:
{{'Something...'}}
How is this possible without the script tag?
Think of it as a templating system. Your html is the template, and the controller is the... controller that you defined in your angular js.
The {{something}} things in your html are usually references to properties on the scope of the controller.
$scope.something = "Hello World!";
Angular simply replaces the {{something}} entries in your html with actual content, for example, with theHtml.replace("{{something}}", $scope.something). Angular can also interpret basic javascript within the brackets so you can do things like <p>{{something + ' Today\'s date is: ' + new Date()}}</p> and actually get the result to output on the page instead of the brackets.
This only explains at a very basic level how the content within the brackets gets replaced with actual content, explaining much more such as how data binding is done will become too much for a single answer on SO.
After AngularJs is loaded, it will scan your html document. For every directive or angular mark-up it applies an watcher which sends notifications when that value has changed and by receiving this notification, angular knows UI must be updated asap.
So, for Angular, {{}} it's something that will be verified at a certain time. ( like a directive )
You can read more about this here .
templatecontains your html that has{{foo}}, angular doestemplate.replace("{{foo}}", "bar"). Angular of course does a lot more than that, such as actually parsing the content inside of {{}} to see if it needs to perform any additional logic.