?? JS 作业

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> ');        
    返回值:
        '&lt;div&gt;Tom&amp;Jerry&lt;/div&gt; '
    escapeHTML('<input type="text" name="mobile"> ');       
    返回值:
        '&lt;inputtype=&quot;text&quot; name=&quot;mobile&quot;&gt; '
请写出函数escapeHTML的实现代码。















最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容