The article is intended for Microsoft Certification Exam 70-480 aspirants. All the points covered in this article is described from exam 70-480 point of view only. Some advanced topics like Promises, Web Worker, Web Sockets will be covered in my next article.
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Exam 70 480 Javascript at Jinal Desai .NET
1. Articles from Jinal Desai .NET
Exam 70-480 Javascript
2013-01-20 14:01:22 Jinal Desai
The article is intended for Microsoft Certification Exam 70-480 aspirants. All the
points covered in this article is described from exam 70-480 point of view only.
Some advanced topics like Promises, Web Worker, Web Sockets will be covered in
my next article.
Variable Types
string, number, boolean, array, objects, null, undefined
Functions
Callable Behaviors
Implemented as Objects
Hoisting: Call functions before they are defined is called hoisting.
f1();
function f1() {
alert(“f1”);
}
Function Arguments
Internally Passed: Contains all the arguments in “arguments” array variable.
Function Scope
e.g.
var ops={
add:function addNumbers(n1, n2) {
}
}
var x = ops.add(5,8); //valid
var y = ops.addNumbers(5, 8); //Invalid
//Function addNumbers can be called internally but not from outside
e.g.
function outer(n) {
function inner() {
return n*n;
}
return inner();
}
Immediate Functions
Immediate functions called automatically, no need to call it explicitly.
(function(){ }());
or
(function(){})();
2. Function as argument
function add(n1, n2) {
return n1+n2;
}
function calc(proc, n1, n2) {
return proc(n1, n2);
}
calc(add, 5, 8);
Arrays
Array functions:
push, pop, concat, map, filter, some, every, forEach, reduce, sort, splice, join,
reverse
var x=[];
var y=[6];
var fruit=[“apple”,”banana”];
fruit.push(“orange”);
var orange = fruit.pop();
var otherFruit = [“banana”];
fruit = fruit.concat(otherFruit);
var apple = fruit.splice(0,1); //0 to 1 items, 0 based array
var malon = fruit.splice(3,1,”malon”,”grapes”); //it will splice 4th item
Array Projections
fruit=fruit.map(function(i) {
return i.toUpperCase();
});
fruit=fruit.map(function(i){
return{ FruitName: i.toUpperCase();
});
fruit=fruit.filter(function(i){
return i[0]===’a';
});
bool result = fruit.every(function(i){
return i[0]===’a';
}); //returns true if every fruit name starts with ‘a’
bool result = fruit.every(function(i){
return i.length>0
}); //returns true if all the fruit name length is greater than 0.
bool result = fruit.some(function(i){
return i[0]===’a';
}); //returns true if some of the fruits starts with ‘a’.
var length=[];
3. fruit.forEach(function(i){
length[counter++]=i.length;
});
Objects in Javascript
var obj = { };
obj.FirstName=”Jinal”;
obj.SayHello=function(){ alert(“Hello”); };
or
var obj = {
FirstName = “Jinal”,
SayHello=function(){ alert(“Hello”); }
};
DOM Interactions
Quering the DOM
var x = document.getElementById(“anyId”);
or
var x = document.getElementById(“#anyId”);
var y = document.getElementByTagName(“h1”);
var z = document.querySelector(“.item”);
var collection = document.querySelectorAll(“.className”);
Manipulating DOM
var x = document.querySelector(“#anyId”);
x.innerText = “changed inner text”;
x.className = “NewClassName”;
x.classList.add(“item”);
Responding to events
Declarative
<button id=”button” onclick=”handler();”>Click Here</button>
//Javascript
function handler(){
}
Programmatic
var b=document.querySelector(“#button”);
b.addEventListener(“click”,handler);
or
b.onclick=handler;
or
//anonymous function
b.onclick=function(){
}
Remove event listener programmatically
b.removeEventListener(“click”, handler);
4. It is not possible to remove event once it is bind using declarative method.
Advanced Topics
Handling Exceptions
Two ways: Managing failure in code or minimizing failure in code.
How to manage failure in code?
Try{
}
catch(e){
}
finally{
}
function throwHelper(){
var error = new Error(123, “error”);
throw error;
}
try{
throwHelper();
}
catch(error){
var msg=error.number + “ : “ + error.message;
}
Another way to throw error in windows is
throw new WinJS.ErrorFromName(“args”,”error”);
Promises
Asynchronous Call
WinJS.xhr((url=”url”, headers={Accept:”application/json”}).then(
function(xhr){
var result = JSON.parse(xhr.response);});
Web Worker
WinJS.UI.Pages.define(“/pages/webworker/webworker.html”,
{ready:function(element,options){
var worker=new worker(“/pages/webworker/task.js”);
worker.onmessage=function(e){
logMessage(“The worker process said “ + e.message);
};
worker.postMessage(“Hey there, how are you?”);
}
};
//task.js
self.onMessage=function(e){
self.postMessage(“I am away “ + e.data);
};
5. Web Socket
It allows to talk to lower level http.
e.g. chat application
I will cover advanced Javascript topics like Promises, Web Worker and Web
Sockets in my next article.