1(5分)
函数random用于生成0-999之间的随机整数。
语法如下:
var number = random();
number是0-999之间的整数.
??Q:如何包装成函数random??
var num=Math.floor(Math.random()*1000);
console.log(num);
2(10分)
函数parseQuery用于解析url查询参数。
语法如下:
var obj = parseQuery(query)
query是被解析的查询参数,函数返回解析后的对象。
使用范例如下:
var jerry = parseQuery("name=jerry&age=1");
jerry; 返回值:{name: " jerry ", age: "1"}
var tom = parseQuery("name= tom &age=12&gender&");
tom; 返回值:{name: "tom", age: "12", gender: ""}
请写出函数parseQuery的实现代码。
方法一.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<body>
<script type="text/javascript">
function parseQuery(query){
var items=query.split("&");
for (var i = 0; i < items.length; i++) {
var item = items[i].split("=");
if(item[0]){
var value=item[1] ? item[1] : "";
}
}
return value;
}
var jerry = parseQuery("name=jerry&age=1");
var tom=parseQuery("name= tom &age=12&gender&");
console.log(jerry);
console.log(tom);
</script>
</body>
</html>```
#方法二.正则
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Code</title>
</head>
<body>
<script>
var parseQuery = function(query){
var reg = /([=&\s]+)[=\s]*([=&\s]*)/g;
var obj = {};
while(reg.exec(query)){
obj[RegExp.$1] = RegExp.$2;
}
return obj;
}
var jerry = parseQuery("name=jerry&age=1");
var tom=parseQuery("name= tom &age=12&gender&");
console.log(jerry);
console.log(tom);
</script>
</body>
</html>```
3(5分)
函数multiply用于计算多个数字的乘积。
语法如下:
var product = multiply (number0, number1[, number2, ….]);
使用范例如下:
multiply(2, 3); 返回值: 6
multiply(-1, 3, 4); 返回值: -12
multiply(1, 2, 3, 4, 5); 返回值: 120
请写出函数multiply的实现代码。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>code</title>
</head>
<body>
<script>
function multiply() {
var sum = 1,
para;
for (var i = 0; i < arguments.length; i++) {
para = arguments[i];
sum = sum * para;
}
return sum;
}
alert(multiply(2, 3));
alert(multiply(-1, 3, 4));
alert(multiply(1,2, 3, 4, 5));
</script>
</body>
</html>```
#??结果不对,为什么必须要parameter参数??
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Code</title>
</head>
<body>
<script>
var sum = 1;
function multiply(){
for (var i = 0; i < arguments.length; i++) {
sum *= arguments[i];
}
return sum;
}
console.log(multiply(2, 3));//6
console.log(multiply(-1, 3, 4));//-72
console.log(multiply(1, 2, 3, 4, 5)); //-8640
</script>
</body>
</html>```
4(5分)
构造函数Person用于构造人,语法如下:
function Person(name, age){
// 函数体
}
使用范例如下:
var jerry = new Person("Jerry", 2);
jerry.introduce(); 返回值: "I am Jerry, I am 2 years old! "
var tom = new Person("Tom", 12);
tom.introduce(); 返回值: "I am Tom, I am 12 years old! "
请写出构造函数Person的实现代码。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
function Person(name,age){
this.name = name;
this.age = age;
}
Person.prototype.introduce = function () {
console.log("I am " + this.name + "," + "I am " + this.age + " years old!");
}
var jerry = new Person("Jerry", 2);
jerry.introduce();
var tom = new Person("Tom", 12);
tom.introduce();
</script>
</body>
</html>```
>5(10分)
函数escapeHTML用于转义html字符串中的特殊字符(<>"&)。
语法如下:
var escapedStr = escapeHTML(htmlStr);
使用范例如下:
escapeHTML('<div>Tom&Jerry</div> ');
返回值:
'<div>Tom&Jerry</div> '
escapeHTML('<input type="text" name="mobile"> ');
返回值:
'<inputtype="text" name="mobile"> '
请写出函数escapeHTML的实现代码。