Skip to main content

Core Javascript coding test

// call , apply, bind
//1. How to use bind() feature in javascript with example
let button = function(content) {
this.content = content;
};

button.prototype.click = function() {
console.log(`${this.content} clicked `);
};

let newbtn = new button('add');

let boundclick = newbtn.click.bind(newbtn);
boundclick();

//2. bind() using async funs
let myobj = {
asyncGet(cb) {
cb();
},
parse() {
console.log('parse called');
},
render() {
this.asyncGet(function() {
this.parse();
}.bind(this))
}
};
myobj.render();


// ----------------------------JS Coding Test------------------------------------
//1. What does the following statement declares?
var myArray = [
[
[]
]
];
// A. 3 dimension array

//2.Question: What value is returned from the above statement?
var test = "i'm a lasagna hog".split("").reverse().join("");
//Answer: "goh angasal a m'i"

//3. What is returned ? 
(function(x) {
delete x;
return x;
})(1);

//4. Question: What is the outcome of the two alerts above?
var foo = "Hello";
(function() {
var bar = " World";
alert(foo + bar);
})();
alert(foo + bar);
// Answer: "Hello World" & ReferenceError: bar is not defined


//5. What is the value of foo.length?
var ninja = {};
ninja.bar = 'hello';
// Answer: undefined

//6. what is the value of "x"?
var y = 1,
x = y = typeof x;
x;


//7.Consider the two functions below. Will they both return the same thing? Why or why not?
function foo1() {
return {
bar: "hello"
};
}

function foo2() {
return {
bar: "hello"
};
}

//8. Will JavaScript function allow arbitrary number of arguments? Print console by reading arguments.
sum(2, 3);
sum(1, 2, 3, 4);
//Answer.
function sum() {
for (var i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
}

//9. what is the printed in ES5?
function calculateTotalAmount(vip) {
var amount = 0
if (vip) {
var amount = 1
} { // more crazy blocks!
var amount = 100 {
var amount = 1000
}
}
return amount
}

console.log(calculateTotalAmount(true));

//10. Using ES6, refactor this code to perform Parallel tasks(without error handling)?
//sequential tasks (without error handling)
function getTotalFileSize(file1, file2, fil3, callback) {
let total = 0;
stat(file1(error, info) => {
total += info.size;
stat(file2(error, info) => {
total += info.size;
stat(file3(error, info) => {
total += info.size;
callback(total);
});
});
});
}

//11. Does this code work?
function hello(track) {
if (track === 'skill') {
action = 'dance';
} else {
action = 'skip';
}
var action;

return action;
}

//12. Explain why the following doesn't work as an IIFE: Immediately invoked function expression. will there be any error in the code?
function foo(){
// your logic here
}();

// Ans: functions as expressions vs definitions.
// To fix this bug, write like:
( function foo() {}) ();

Comments

  1. I really like this post…. Well done
    Contact us:
    Locksmith Melbourne,
    Melbourne, VIC-3000,
    Australia.
    Phone: 03 9464 1230
    eMail: info@locksmithmelbourne.net
    Web: https://locksmithmelbourne.net/

    ReplyDelete
  2. I agree with the point you are trying to make. Experience is definitely a crucial factor to look at before you hire angular js developers in India
    . But, skill sets can be more valuable than experience. Ultimately the quality of work and consistency should matter. If you want to hire angular js developers in India, you can visit Eiliana.com, which houses top-rated freelance development and testing professionals.

    ReplyDelete

Post a Comment

Popular posts from this blog

Ext4 Apply Store Filtering

In extjs4.1: There are many way for store filtering . Some of code i give here Filtering by single field: store . filter ( 'eyeColor' , 'Brown' );   Alternatively, if filters are configured with an  id , then existing filters store may be  replaced by new filters having the same  id . Filtering by single field: store . filter ( "email" , /\.com$/ );   Using multiple filters: store . filter ([ { property : "email" , value : /\.com$/ }, { filterFn : function ( item ) { return item . get ( "age" ) > 10 ; }} ]);   Using  Ext.util.Filter  instances instead of config objects (note that we need to specify the root config option in this case): store . filter ([ Ext . create ( ' Ext.util.Filter ' , {   property : "email" , value : /\.com$/ , root : 'data' }),   Ext . create ( ' Ext.util.Filter ' , {   filterFn : function ( item ) {   return item . get ( &

ExtJS - Grid panel features

What can we do with ExtJS GridPanel? I have to develop a lot of applications in my web app and I see that grid component of ExtJS may fit in. However, I am not aware of what all things I can do with the - off the shelf available framework pieces - available plug-ins in the marketplace and - custom development through my own developers This is a typical question that we hear from the business users who wants to design an application by keeping the framework’s capability in perspective. In this article I have tried to put the list of stuff you can do with grid and hopefully that shall enable you to take advantage of the beauty of ExtJS. Pre-requisites This article assumes that you are familiar with basics of ExtJS What are the available options? In this section I will be taking you through some of the commonly seen usage of ExtJS grid panel. While covering all the capabilities of grid may not be possible, I am sure it will be helpful for the business users who want to

EXTJS - Way to get a reference to the viewport from any controller

An easy way to get a reference to the viewport from any controller Here's an easy way to get a reference to your viewport from any controller: Ext.application({ launch: function(){ this.viewport = Ext.ComponentQuery.query('viewport')[0]; this.centerRegion = this.viewport.down('[region=center]'); } }); then, inside say, a controller, you can call this: this.application.viewport to get a reference to the viewport.