Mats Bolstad, Systemutvikler i Steria
En enkel utvidelse av HTML
<input type="button" onclick="selectCountry()">
function selectCountry() {
var country = document.getElementById("country").value;
alert("Welcome to Apple in: " + country);
// ...
}
myObject.a = 1; myObject.a = "foo bar!"
var myFunction = function(){ }
// variabel: myFunction
// invokering: myFunction()
var myConstructor = function() {
this.a = 1;
this.b = 2;
};
myConstructor.prototype = {
sum: function() {
return this.a + this.b
}
};
var myObject = new myConstructor;
// myObject.sum() => 3
- En rangering fra 5 til 0 →
'\n 123 \t' == 123 // true
typeof NaN // "number"
var x = {}, y = {};
x == y // false
x >= y // true
x <= y // true
{} + [] // 0
{} + {} // NaN
[] + {} // "[object Object]"
Kun funksjonscope
function() {
if ( ... ) {
var foo = "bar";
}
// foo => "bar"
}
// foo => undefined
Globalt scope er fallback
funksjon() // this => 'globalt scope'
mittObjekt.funksjon() // this => mittObjekt
funksjon.call(mittObjekt) // this => mittObjekt
variabel = "foobar";
Varebil.prototype = new Bil; // Varebil subklasser Bil
Eksempel, få HTML5-støtte i <IE9
<!--[if lt IE 9]>
<script src="html5shiv.js"></script>
<![endif]-->
Eksempel på typisk jQuery-kode
$("form").on("submit", function () {
$.ajax({
url:"http://foo.no",
type:"get",
data:$("#foo [type=text]").val(),
error:function (error) {
$("#feilmeldingsboks").text(error);
},
success:function (data) {
$("#resultatTabell").empty();
JSON.parse(data).forEach(function (x) {
var rad = "" + x.navn + "";
$("#resultatTabell").append(rad);
});
}
});
});
var SearchFormView = Backbone.View.extend({
initialize: function() {
this.model = new SearchModel();
this.model.on("sync", this.render);
this.model.on("error", this.renderErrorMessage);
},
events: {
"form submit": "performSearch"
},
performSearch: function() {
this.model.fetch();
}
});
"HTML enhanced for web apps"
<label>Name:</label>
<input type="text" ng-model="yourName" placeholder="Enter a name here">
<h1>Hello {{yourName}}!</h1>
Kilde: Google Trends
Samme applikasjon utviklet i 45 varianter.