var articleId = 10;var $ = jQuery;var initFunc = function($, articleId) {var pagination = $('#pagination');var currentPage = pagination.data('currentPage');function _getPage(articleId, pageId) {var data = {articleId:articleId, pageId: pageId};$.post('/api/get-page', data, function() {} );}_getPage(articleId, currentPage);};initFunc($, articleId);
var articleId = 10;var $ = jQuery;var initFunc = function($, articleId) {var pagination = $('#pagination');var currentPage = pagination.data('currentPage');function _getPage(articleId, pageId) {var data = {articleId:articleId, pageId: pageId};$.post('/api/get-page', data, function() {} );}_getPage(articleId, currentPage);};initFunc($, articleId);
var articleId = 10;var $ = jQuery;var initFunc = function($, articleId) {var pagination = $('#pagination');var currentPage = pagination.data('currentPage');function _getPage(articleId, pageId) {var data = {articleId:articleId, pageId: pageId};$.post('/api/get-page', data, function() {} );}_getPage(articleId, currentPage);};initFunc($, articleId);
var articleId = 10;var $ = jQuery;var initFunc = function($, articleId) {var pagination = $('#pagination');var currentPage = pagination.data('currentPage');function _getPage(articleId, pageId) {var data = {articleId:articleId, pageId: pageId};$.post('/api/get-page', data, function() {} );}_getPage(articleId, currentPage);};initFunc($, articleId);
資料型別 Function, Object, Number, String, Boolean
// empty objectvar empty_object = {};// JSON objectvar jsonObject = { name: 'Eddie Li',company: 'VisionBundles Int\'l Ltd.',website: 'http://www.visionbundles.com' };// collection of functions and variablesvar app = {id: null,init: function(id) { this.id = id; },getPage: function() { // 略... }};
var app = {pageId: null,init: function(pageId) {this.pageId = pageId;this.getPage();},getPage: function() {// 略 ...}};app.init(1);
AppClass = function(pageId) {var pageCache = []; // private propertyvar self = this; // private propertythis.pageId = pageId; // public propertythis.getPage = function() {var data = {pageId: self.pageId};$.getJSON('/api/get-page', data, function(result){pageCache[this.pageId] = result;});};this.getPage(pageId);};var pageApp1 = new AppClass(1);var pageApp2 = new AppClass(2);
// super class (object)var Car_Abstract = {carName: null,getName: function() {console.log('Car is ' + this.carName);}};// class (function)var Super_Car = function(name) {this.carName = name;};// Function Inherit objectSuper_Car.prototype = Car_Abstract;// New function & call parent methodvar myCar = new Super_Car('Ferrari');myCar.getName(); // Car is Ferrari
var Super_Car = function(name) {this.carName = name;};// 各別指定 prototype 內的屬性、方法Super_Car.prototype.carName = null;Super_Car.prototype.getName = function() {console.log('Car is ' + this.carName);};var myCar = new Super_Car('Toyota');myCar.getName(); // Car is Toyota
// 使用 function 定義父類別藍圖 var Car = function() {this.carName = null;this.getName = function() {console.log('Car is ' + this.carName);};};var Super_Car = function(name) {this.carName = name;};// Car 是 function type, 當被 new 出來後變成 ObjectSuper_Car.prototype = new Car();var myCar = new Super_Car('Mazda');myCar.getName(); // Car is Mazda
var myCar = new Car('Toyota');var myBike = new Bike('Fixed Gear');var myScooter = new Scooter('Yamaha');myCar.start(); // Toyata Car staring;myBike.start(); // Fixed Gear Bike staring;myScooter.start(); // Yamaha Scooter staring;myCar.goToFreeWay(); // Toyota Going to free waymyBike.getGas(); // throw exceptionmyScooter.getGas('95'); // Bike getting gas (95)myCar.getGas('98'); // Toyota getting gas (98)