CS174
Chris Pollett
Apr 12, 2017
var myArr = new Array(1, 2, "hello") //array with 3 elements var myArr = new Array(100); // empty array of length 100 var myArr = [1,2,3]; //to access myArr[0] //to determine length myArr.length
var names = new Array("Mary", "Murray", "Max"); var nstring = names.join(":");
var a = [1, 2, 3]; a.concat(4, 5);
Make an HTML page with a form on it with text fields labeled Title, Author, Publisher, Year and with a button Save. Clicking the button Save should store into a Javascript object book the fields title, author, publisher and year. It then causes an alert to be displayed with the contents of the book object neatly drawn.
Post your answers to the Let's Build Something Thread.
function swap(i, j, a) { var tmp=a[i]; /* explicitly defined variables have scope within the function if I had declared the variable implicitly it would have global scope */ a[i] = a[j]; a[j] = tmp; }
swap(10, 5, b);
var c = swap;So could call:
c(10, 5, b);
function swap() { var i = this.arguments[0], j=this.arguments[1], a=this.arguments[2]; //same code as before }
swap = function(i, j, a) { /* same code as before*/ }
function car(new_make, new_model, new_year) { this.make = new_make; this.model = new_model; this.year = new_year; }
my_car = new car("Ford", "Contour SVT", "2000");
function display_car() { document.write("Make:", this.make, "<br />"); document.write("Model:", this.model, "<br />"); document.write("Year:", this.year, "<br />"); } function car(new_make, new_model, new_year) { //same as before this.display = display_car; }
function car(new_make, new_model, new_year) { //same as before } car.prototype.display = display_car;
function car(new_make, new_model, new_year) { //same as before car.prototype.display = function() { document.write("Make:", this.make, "<br />"); document.write("Model:", this.model, "<br />"); document.write("Year:", this.year, "<br />"); } }
function A() { } A.prototype.foo = function() { alert("foo"); } function B() { } B.prototype = new A(); /* we just made B's prototype an instance of an A function object which has its own prototype. So property look up for B, looks within its instance, then within it prototype, which is an instance of A, to see if it is a property of A, then it looks at A's prototype to see if the property is there. As A's prototype is an Object, it finally looks at Object's prototype to see if the property is there. */ B.prototype.goo = function() { alert("goo"); } a = new A(); a.foo(); // alert with foo in it b = new B(); b.foo(); // alert with foo in it b.goo(); // alert with goo in it a.goo(); // type error goo is not a function of A
var b = 10; // scope window variable object function foo () { // same as window.foo alert(typeof b); /* b can be used in foo. this will say number */ } foo();
var b = 10; // scope window variable object function foo () { alert(typeof b); /* the var b below is hoisted, b property of this function used which is currently undefined, so outputs undefined*/ var b = "hello"; alert(typeof b); // outputs string } foo();
var object_we_are_making = (function () { // private variables return { // public data and methods } }());
var employee = (function() { var salary = 20000; return { name: "John Smith", getSalary : function () { return salary; }, setSalary : function (sal) { salary = sal; } } }()); alert(employee.name); // John Smith alert(employee.getSalary()); // 20000 employee.setSalary(100000); alert(employee.getSalary()); // 100000 alert(employee.salary); // undefined
function Employee(name, sal) { var salary; // scope within constructor this.name = name; salary = sal; this.getSalary = function () { return salary; } this.setSalary = function (sal) { salary = sal; } } var emp1 = new Employee("John", 100000); var emp2 = new Employee("Sally", 150000); alert(emp1.name); // John alert(emp2.name); // Sally alert(emp1.getSalary()); // 100000 emp2.setSalary(200000); alert(emp2.getSalary()); // 200000 alert(emp1.getSalary()); // 100000 alert(emp1.salary); // undefined
var str = "Rabbits are furry"; var position = str.search(/bits/); /* returns position of first occurrence */
/yx{5}z/ matches yxxxxxz
/Apple/i would match APPLE, aPple and apple.
var str="Fred, Freddie, Frederica"; str.replace(/Fre/g, "Boyd");notice we use g to replace all occurrences.
var str= "3 and 4"; var matches = str.match(/\d/g); //returns [3, 4]
var str="grapes:apples:oranges" var fruit = str.split(":"); // [grapes, apples,oranges]