示例效果:
JS代码:
<pre class="javascript" name="code">/* The script is placed inside an immediately invoked function expression
which helps protect the scope of variables */
(function() {
// PART ONE: CREATE HOTEL OBJECT AND WRITE OUT THE OFFER DETAILS
// Create a hotel object using object literal syntax
var hotel = {
name: 'PDH',
roomRate: 588, // Amount in dollars
discount: 18, // Percentage discount
offerPrice: function() {
var offerRate = (this.roomRate * ((100 - this.discount) / 100)).toFixed(0);
return offerRate;
}
};
// Write out the hotel name, standard rate, and the special rate
var hotelName, roomRate, specialRate; // Declare variables
hotelName = document.getElementById('hotelName'); // Get elements
roomRate = document.getElementById('roomRate');
specialRate = document.getElementById('specialRate');
hotelName.textContent = hotel.name; // Write hotel name
roomRate.textContent = '$' + hotel.roomRate.toFixed(2); // Write room rate
specialRate.textContent = '$' + hotel.offerPrice(); // Write offer price
// PART TWO: CALCULATE AND WRITE OUT THE EXPIRY DETAILS FOR THE OFFER
var expiryMsg; // Message displayed to users
var today; // Today's date
var elEnds; // The element that shows the message about the offer ending
function offerExpires(today) {
// Declare variables within the function for local scope
var weekFromToday, day, date, month, year, dayNames, monthNames;
// Add 7 days time (added in milliseconds)
weekFromToday = new Date(today.getTime() + 7 * 24 * 60 * 60 * 1000);
// Create arrays to hold the names of days / months
dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
// Collect the parts of the date to show on the page
day = dayNames[weekFromToday.getDay()];
date = weekFromToday.getDate();
month = monthNames[weekFromToday.getMonth()];
year = weekFromToday.getFullYear();
// Create the message
expiryMsg = 'Offer expires next ';
expiryMsg += day + ' <br />(' + date + ' ' + month + ' ' + year + ')';
return expiryMsg;
}
today = new Date(); // Put today's date in variable
elEnds = document.getElementById('offerEnds'); // Get the offerEnds element
elEnds.innerHTML = offerExpires(today); // Add the expiry message
// Finish the immediately invoked function expression
}());
HTML代码:
<!DOCTYPE html>
<html>
<head>
<title>JavaScript & jQuery - Chapter 3: Functions, Methods & Objects - Example</title>
<link rel="stylesheet" href="css/c03.css" />
</head>
<body>
<h1>TravelWorthy</h1>
<div id="info">
<h2>latest hotel offer</h2>
<div id="hotelName"></div>
<div id="roomRate"></div>
<div id="specialRate"></div>
<p>room rate when you book 2 or more nights</p>
<div id="offerEnds"></div>
</div>
<script src="js/example.js"></script>
</body>
</html>
CSS代码:(参考源码-JavaScript&jQuery交互式前端开发-第3章-函数、方法与对象-使用字面量语法创建对象,http://blog.csdn.net/hpdlzu80100/article/details/52677426 )