4. Using Logical Operator in assignment
function(num) {
num = num || “default”;
}
Using OR
function(num) {
if(num == undefined) {
num = “default”;
}
}
default argument
5. function(status) {
if (status ==true) {
status =false;
} else {
status = true;
}
}
Switch on / Switch off
Using NOT
function(status) {
status = !status;
}
6. var user = [
name : "Arkar",
children: [ "Hla Hla","Mya Mya","Aung Aung","Tun Tun”],
wife : "Phyo Phyo",
parents: ["U U ", "Daw Daw"]
getParent:function(){
return this.parent;
},
getwife:function(){
return this.wife;
}
];
Sample Object
for (var i=0; i<user.children.length; i++) {
console.log(user.children[i]);
}
loop for children
7. for (var i=0; i<user.children.length; i++) {
console.log(user.children[i]);
}
inside Loop
- access user object
- access children property
- access length property
- access user object
- access children property
- access children of i
- execute console.log
Total result is 1 + 7 x 4 = 29
8. var children = user.children;
for (var i=0; i<children.length; i++) {
console.log(children[i]);
}
- access user object
- access children property
- assign children
Outside Loop inside Loop
- access children
- access length;
- access children;
- access i of children
- console.log
Total result is 1 + 3 + 5 * 4 = 24
9. Before Optimisation After Optimisation
4
Count
29 24
10
(7x+1) (5x+4)
71 54
100 701 504
1000 7001 5004
10. var children = user.children;
var length = children.length;
for (var i=0; i<length; i++) {
console.log(children[i]);
}
- access user object
- access children property
- assign children
- access children
- access length
- assign length
Outside Loop inside Loop
- access length
- access children;
- access i of children
- console.log
Total result is 1 + 6 + 4* 4 = 23
11. Case A Case B
4
Count
29 24
10
(7x+1) (5x+4)
71 54
100 701 504
1000 7001 5004
23
(4x+7)
47
407
4007
Case C
14. Avoid with
with(user){
var wife = getwife(); // Phyo Phyo
console.log(children); //"Hla Hla","Mya Mya","Aung Aung","Tun Tun”
console.log(parent); // “U U”, “Daw Daw”
}
with(user){
var getNewWife = function() {
this.wife = “Zune Thinzar”;
};
};
If He want new wife
15. // Global Scope
var getNewWife = function() {
this.wife = “Zune Thinzar”;
};
But end up as Global Scope
Unlucky Arkar, Sorry to hear that
So, don’t try to cheat on “with”
17. Script.js
var list = user.getwife();
function getChildren(user) {
var list = user.children;
list.forEach(function(child){
console.log(child);
});
}
Script2.js
<html>
<head>
<script src=“script.js”>
<script src=“script2.js”>
HTML
18. Namespace
var script1 = {
list: user.getwife(),
doChore : function() {
for (var i of this.list) {
console.log(this.list[i] + “cleaning”);
}
}.
deleteWife: function () {
delete this.list;
}
var script2 = {
list: user.children;
getChildren: function(user) {
this.list.forEach(function(child){
console.log(child);
});
},
cleanChildren:function(){
///
}
Script.js Script2.js
19. The End
- slideshare.net/nainglinaung91
- linkedin.com/in/nainglinaung
- https://twitter.com/kelvinm0rRis
- https://github.com/nainglinaung
Naing Lin Aung is currently work as Programmer in Aceplus Solution. If you want to
contact, you can check with the following links