{"id":84,"date":"2016-02-14T14:05:39","date_gmt":"2016-02-14T14:05:39","guid":{"rendered":"http:\/\/windows.emacslisp.com\/?p=84"},"modified":"2016-02-14T14:32:21","modified_gmt":"2016-02-14T14:32:21","slug":"angular-js-angularinit-and-foreach","status":"publish","type":"post","link":"http:\/\/windows.emacslisp.com\/index.php\/2016\/02\/14\/angular-js-angularinit-and-foreach\/","title":{"rendered":"Angular.js &#8211; angularInit(..) and forEach"},"content":{"rendered":"<p>This is first post about Angular.js source code analysis.<\/p>\n<p>Angular.js start with following code.<\/p>\n<pre lang=\"javascript\" line=\"1\"> \r\n  bindJQuery();\r\n  publishExternalAPI(angular);\r\n  jqLite(document).ready(function() {\r\n    angularInit(document, bootstrap);\r\n  });\r\n<\/pre>\n<p>Before it starts, it will go though some interesting code.<\/p>\n<p>Angular.js forEach.<\/p>\n<p>what it to do is assigning value to array.<\/p>\n<pre lang=\"js\" line=\"1\"> \r\nforEach('multiple,selected,checked,disabled,readOnly,required,open'.split(','), function(value) {\r\n  BOOLEAN_ATTR[lowercase(value)] = value;\r\n});\r\n<\/pre>\n<p><strong>forEach function is to loop through the list of object.<br \/>\nand &#8220;Call&#8221; anonymous function.<\/strong><em><\/p>\n<pre lang=\"javascript\" line=\"1\"> \r\n function forEach(obj, iterator, context) {\r\n     for(...){\r\n          iterator.call(context,obj[key],key,obj);\r\n     }\r\n }\r\n<\/pre>\n<p>The following code is example of function call.<\/p>\n<p><strong>You will see output value is 2 and 3.<\/strong><\/p>\n<p><strong>It will ignore 1.<\/strong><\/p>\n<pre lang=\"html4strict\" line=\"1\">\r\n <html>\r\n  <head>\r\n    <script language=\"javascript\">\r\n      function displayDate(iterator){\r\n        iterator.call(1,2,3,4);\r\n      }\r\n\r\n      displayDate(function(value,key){\r\n        console.log(value);\r\n        console.log(key);\r\n      });\r\n    <\/script>\r\n  <\/head>\r\n  <h1>forEach Test<\/h1>\r\n\r\n  <p id = \"demo\"> This is a paragraph.<\/p>\r\n  <button type=\"button\" onclick=\"displayDate()\">Display Date<\/button>\r\n  \r\n  <body>\r\n  <\/body>\r\n<\/html> \r\n <\/pre>\n","protected":false},"excerpt":{"rendered":"<p>This is first post about Angular.js source code analysis. Angular.js start with following code. bindJQuery(); publishExternalAPI(angular); jqLite(document).ready(function() { angularInit(document, bootstrap); }); Before it starts, it will go though some interesting code. Angular.js forEach. what it to do is assigning value &hellip; <a href=\"http:\/\/windows.emacslisp.com\/index.php\/2016\/02\/14\/angular-js-angularinit-and-foreach\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"_links":{"self":[{"href":"http:\/\/windows.emacslisp.com\/index.php\/wp-json\/wp\/v2\/posts\/84"}],"collection":[{"href":"http:\/\/windows.emacslisp.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/windows.emacslisp.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/windows.emacslisp.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/windows.emacslisp.com\/index.php\/wp-json\/wp\/v2\/comments?post=84"}],"version-history":[{"count":6,"href":"http:\/\/windows.emacslisp.com\/index.php\/wp-json\/wp\/v2\/posts\/84\/revisions"}],"predecessor-version":[{"id":90,"href":"http:\/\/windows.emacslisp.com\/index.php\/wp-json\/wp\/v2\/posts\/84\/revisions\/90"}],"wp:attachment":[{"href":"http:\/\/windows.emacslisp.com\/index.php\/wp-json\/wp\/v2\/media?parent=84"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/windows.emacslisp.com\/index.php\/wp-json\/wp\/v2\/categories?post=84"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/windows.emacslisp.com\/index.php\/wp-json\/wp\/v2\/tags?post=84"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}