<script>
alert("I'm learning JavaScript");
</script>
<script src="somefile.js"></script>
var name = "Joe",
age = 45,
job = "plumber"; alert( name ); // Joe
alert( "John says \"What are you doing?\"" );
alert( '"Let\'s go out for lunch."' );
alert( 3.45e5 ); // 345000
alert( 123e-3 ); // 0.123
true and false
var obj = {
name : "Andrew",
age : 20,
awake : true,
company : {
name : "XYZ Ltd.",
id : 12345
}
};
var obj = { name : "Joe", age : 10 };
alert( obj.name ); // "Joe“
alert( obj["age"] ) ; // 10
var arr = ["string", 20, false];
alert( arr[0] ); // "string"
new Date("January 17, 2012")
new Date(2009, 3, 20, 17, 30)
var someVar = "value";
someFunction("parameter");
if (true) {
doThis();
}
// This is a useless comment
/* file: navigtion.js
author: Andrew Burgess date: July 2, 2011
purpose: provides animation for the site navigation
*/
var four = 2 + 2, //addition operator hour = 24 - 13, // subtraction operator
seventy = 7 * 10, // multiplication operator avg_days_per_week = 365 / 52, // division operator remainder = 31 % 2, // modulus operator
msg = "the time is " + hour + " o'clock"; // addition operator used
on strings
console.log(four); // 4
console.log(hour); // 11
console.log(seventy); // 70
console.log(avg_days_per_week); // 7.019230769230769
console.log(remainder); // 1 console.log(msg); // "the time is 11 o'clock"
alert( 10 < 5 ); // false
alert( 10 > 5 ); // true
alert( 4 <= 3 ); // false
alert( 4 === 3 ); // false
alert( "cat" > "dog" ); // false
alert( "bacon" > "chunks" ); // false
alert( "cats" >= "cats" ); // true
alert( "fishing" <= "sleeping" ); // true
alert( "cat" > "CAT" ); // true
var i = 0;
i++;
alert(i); // 1
++i;
alert(i); // 2
i--;
alert(i); // 1
--i;
alert(i); // 0
var num = 10;
num += 5; // same as num = num + 5
alert(num); // 15
num -= 3; // same as num = num - 3
alert(num); // 12
num *= 2; // same as num = num * 2
alert(num); // 24
num /= 6; // same as num = num / 6
alert(num); // 4
num %= 3; // same as num = num % 3
alert(num); // 1
var a = true;
var b = false;
alert( a && b ); // false
alert( a || b ); // true
var day = 14, year = 2011;
alert( day > 10 || year === 2011 ); // true
alert( day < 20 && year >= 2010 ); // true
var year = 2011, msg = "In the ";
if (year > 2000) {
msg += "twenty-first century";
} else {
msg += "twentieth century";
}
console.log(msg); // In the twenty-first century
var order_size = "medium";
switch (order_size) {
case "small":
alert("small");
break;
case "medium":
alert("medium");
break;
case "large":
alert("large");
break;
case "extra large":
alert("extra large");
break;
default:
alert("something else?");
}
var temp = 18,
msg = (temp > 10) ? "Today was warm" : "Today was cold";
alert(msg);
var names = ["Ringo", "John", "Paul", "George"];
for (var i = 0; i < names.length; i++) {
alert("Say hello to " + names[i]);
}
var i = 0;
for ( ; names[i] ; ) {
//do something
i++;
}
var not_home = true, miles_driven = 0;
while (not_home) {
miles_driven += 1; // drive another mile
if (miles_driven === 10) {
not_home = false;
}
}
alert(miles_driven);
var person = {
name : "Jules Verne",
job : "Author",
year_of_birth: 1828,
year_of_death: 1905
},
prop;
for (prop in person) {
alert("His " + prop + " is " + person[prop]);
}
function getGreeting(hour)
{ var hour = 10,
message;
if (hour < 12) {
message = "Good Morning!";
} else if (hour < 17) {
message = "Good Afternoon!";
} else {
message = "Good Evening!";
}
return message;
}
var message = getGreeting( 16 ); // 4 PM
alert(message); // Good Afternoon!
function getGreeting(hour)
{ var hour = 10,
message;
var msg1 = getGreeting(10),
msg2 = getGreeting(1,2,3,4,5,6, "and on"),
msg3 = getGreeting(),
msg4 = getGreeting("five o'clock");
}
return message;
}
var message = getGreeting( 16 ); // 4 PM
alert(message); // Good Afternoon!
function sum()
{ var sum = 0, i;
for ( i = 0 ; arguments[i]; i++)
{ sum += arguments[i];
}
return sum;
}
var sum1 = sum(1, 2),
sum2 = sum(100, 75, 40),
sum3 = sum(9, 1.4, 8, 2, 79, 3234, 6, 4, 5e3, 5);
alert(sum1); // 2
alert(sum2); // 215
alert(sum3); // 8348.4
function () {
return "this function has no name";
}
var hi = (function () { return function () {
return "Hi";
}
};
["d", "e", "c", "a", "b"].sort();
[0, 5, 10, 15, 20, 25] .sort();
arr = [5, 2, 3, 4, 1];
arr.sort(function (a, b) {
return a - b;
});
console.log(arr); // [1, 2, 3, 4, 5];
this will reference the global object
var my_variable = "value";
function my_function ()
{ return "another_value" }
alert( this.my_variable ); // "value”
alert( this.my_function() ); // "another_value"
The new Keyword
function Truck(model) { this.num_of_tires = 4;
this.kilometers = 0;
this.model = model;
}
var my_truck = new Truck("Hercules");
console.log(my_truck);
two methods that functions have by default
```javascript
function Truck (model, num_of_tires) { this.num_of_tires = num_of_tires;
this.kilometers = 0;
this.model = model;
}
var basic_vehicle = { year : 2011 };
Truck.call(basic_vehicle, "Speedio", 4);
console.log(basic_vehicle);
var waitress = { name : "Ashley",
greet: function (customer)
{ customer = customer || “there";
return "Hi " + customer + “! My name is " + this.name + "; what can I get you?";
}
};
alert( waitress.greet("Joe") );
// Hi Joe! My name is Ashley; what can I get you?
function Computer (name, ram_amount, memory_amount) { this.name = name;
this.RAM = ram_amount; // in GBs
this.space = memory_amount; // in MBs
}
my_computer = new Computer("MacBook", 2, 250000 );
console.log(my_computer);
function Computer (name, ram_amount, memory_amount) { this.name = name;
this.RAM = ram_amount;
this.space = memory_amount;
this.files = [];
this.store_file = function (filename, filesize) { this.files.push(filename);
this.space -= filesize;
};
}
Computer.prototype.store_file = function (filename, filesize) { this.files.push(filename);
this.space -= filesize;
};
function Product(name) { if (name) {
this.name = name;
}
}
Product.prototype.name = "To be announced";
Product.prototype.rating = 3;
var ipad = new Product("iPad");
alert( ipad.name ); // "iPad";
alert( ipad.rating ); // 3
function Person(name) { this.name = name;
}
Person.prototype.legs = 2;
var person = new Person("Joe"), prop; for (prop in person) {
console.log(prop + ": " + person[prop]);
}
// in console:
// name : Joe
// legs: 2
var revealSecret = (function () { var secretNumber = 1024;
return function (password) { if (password === "please") {
return secretNumber++;
}
return 0;
};
}());
console.log( revealSecret("please") ); // 1024
console.log( revealSecret("please") ); // 1025
<p>We're learning about the <em>Document Object Model </em>, or
<strong>DOM</strong>.</p>
<div class="product">
<h2> Product Name </h2>
<img src="pic.jpg" />
<p> Description </p>
</div>
document.getElementById("id_name")
document.getElementsByClassName document.getElementsByTagName
var products =
document.getElementsByClassName("product"),
i = 0,
child;
for ( ; i< products.length; i++)
{ child = products[i].firstChild;
while (child.nodeType !== 1) {
child = child.nextSibling;
}
console.log(child);
}
// 原 始 的 w3c DOM document.getElementById(‘elementId’);
$(‘elementId’); //Prototype, MooTools
$(‘#elementId’); //jQuery
Y.one(‘#elementId’); //YUI3
dojo.byId(‘elementId’); //Dojo
Ext.getDom(‘elementId’); //Ext JS3
元素然后遍历这个元素的兄弟元素直到遇到一个class属性为summary 的元素
Ajax这个概念的最早提出者Jesse James Garrett这样说
Ajax模型的流程图
设置客户端
启动搜索过程
Node.js事实上既是一个运行时环境,同时又是一个库
访问node.js官网,点击Download链接,然后选择Windows Installer,下载安装包
下载完成后直接双击安装,和其它一般软件安装一样
var http = require('http');
http.createServer(function (req, res)
{ res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8888);
console.log('Server running at http://127.0.0.1:8888/');
把上述文件存为index.js
进入命令行,输入:node index.js
在浏览器地址栏输入:127.0.0.1:8888
Node.js 的结构大致分为三个层次:
index.js
var server = require("./server"); var router = require("./router");
var requestHandlers = require("./requestHandlers");
var handle = {};
handle["/"] = requestHandlers.start; handle["/start"] = requestHandlers.start; handle["/upload"] = requestHandlers.upload; handle["/show"] = requestHandlers.show;
server.start(router.route, handle);
server.js
var http = require("http"); var url = require("url");
function start(route, handle) {
function onRequest(request, response) {
var pathname = url.parse(request.url).pathname; console.log("Request for " + pathname + " received."); route(handle, pathname, response, request);
}
http.createServer(onRequest).listen(8888); console.log("Server has started.");
}
exports.start = start;
router.js
function route(handle, pathname, response, request) { console.log("About to route a request for " + pathname); if (typeof handle[pathname] === 'function') { handle[pathname](response, request);
} else {
console.log("No request handler found for " + pathname); response.writeHead(404, {"Content-Type": "text/html"}); response.write("404 Not found");
response.end();
}
}
exports.route = route;
requestHandlers.js
var querystring = require("querystring"), fs = require("fs"),
formidable = require("formidable");
function start(response) {
console.log("Request handler 'start' was called.");
var body = ''+ ''+
'+ 'charset=UTF-8" />'+
''+ ''+
''+ ''+ '';
response.writeHead(200, {"Content-Type": "text/html"}); response.write(body);
response.end();
}
function upload(response, request) { console.log("Request handler 'upload' was called.");
var form = new formidable.IncomingForm(); console.log("about to parse"); form.parse(request, function(error, fields, files) { console.log("parsing done");
fs.renameSync(files.upload.path, "/tmp/test.png"); response.writeHead(200, {"Content-Type": "text/html"}); response.write("received image:
"); response.write("
");
response.end();
});
}
function show(response) {
console.log("Request handler 'show' was called."); fs.readFile("/tmp/test.png", "binary", function(error, file) { if(error) {
response.writeHead(500, {"Content-Type": "text/plain"}); response.write(error + "\n");
response.end();
} else {
response.writeHead(200, {"Content-Type": "image/png"}); response.write(file, "binary");
response.end();
}
});
}
exports.start = start;
exports.upload = upload; exports.show = show;
详细解释
序号 | URI | HTTP 方法 | 发送内容 | 结果 |
---|---|---|---|---|
1 | listUsers | GET | 空 | 显示所有用户列表 |
2 | addUser | POST | JSON 字符串 | 添加新用户 |
3 | deleteUser | DELETE | JSON 字符串 删除用户 | |
4 | :id | GET | 空 | 显示用户详细信息 |