JavaScript面向对象

本文介绍了JavaScript的基础知识,包括函数定义、变量作用域、对象创建及属性动态添加等内容,并演示了如何在网页中调用这些功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js基础

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
   <!-- <script src="JScript1.js" type="text/javascript"></script>-->
    <script type="text/javascript">
        function ni() {   //  弹出一个本地时间的对话框
            alert(new Date().toLocaleDateString());
        }



        function add(li, l2) { //求和函数:调用add函数就可以得到参数1和参数2的和
            return li + l2
        }

        //变量f1指向一个匿名函数。那么在调用f1的时候,f1就可以作为一个函数来使用了。(这就是委托)
        var f1 = function (l1, l2) {
            if (l1 > l2) {
                return l1 + l2;
            }
            else {
                return l2 - l1;
            }
        }


        //创建一个person的函数(相当于C#中的类),里面有两个参数 这个函数可以动态的增加属性。动态的增加属性只要this.属性名就好了。
        function person(name, age) {//声明一个函数,当成类来用
            this.Name = name;  //动态的增加一个Name属性
            this.Age = age;    //动态的增加一个Age属性

            //这个sayHello其实就是一个对象,它指向一个匿名函数而已。相当于上面的那个f1委托
            this.sayHello = function () {
                alert("你好,我是" + this.Name + ";我" + this.Age + "岁了"); 
            }
        }
        var s1 = new person("张三丰", 52); //不要忘记了这个new, 如果去掉这个new ,就变成直接调用person函数了。
        s1.sayHello();  //输出 “你好,我是张三丰;我52岁了”

        /*
        var s2 = person("张三丰", 52); //不信我们就试试看:去掉这个new
        alert(s2); //然后打印一下这个s2 ,输出undefined; 为什么会是输出undefined呢?那是因为person这个函数本身就没有返回值;js中并非所有路径都有返回值,如果没有返回值他就认为返回值是undefined  
        */

        //在这里了还可以为person类动态的增加属性(javascript没有类,只要函数,这里我们只是这样叫而已)
        s1.Gender = "男";   //即便你new了一个s1对象 我还可以通过你new出来的这个s1对象来动态的增加属性;在这里我动态的增加一个Gender属性
        alert(s1.Gender);


        var arr = new Array() //声明一个arr的数组。javascript中的数组都是动态数组,相当于c#里的ArrayList
        arr[0] = "tom";
        arr[1] = "jeem";
        for (var i = 0; i < arr.length; i++) {
            alert(arr[i]);
        }
    </script>
</head>
<body>
    <input type="button" onclick="ni()" value="获取当地时间" />
    <a href="javascript:alert('你好')">你好</a> <a href="http://www.baidu.com" onclick="alert('你好')">
        百度你好</a>
    <input type="button" value="求和" onclick="alert(add(1,2)+3)" />
    <input type="button" value="委托" onclick="alert(f1(5,9))" />
</body>
</html>


有一道面试题: var a=new Main();   a.Height=170;   请定义Man

答:

<script type="text/javascript">
    //function Man(height, width) { //定义个Man函数,它里面有两个参数
    //    this.Height = height; //动态给它添加一个Height属性,并赋值
    //    this.Width = width; //动态给它添加一个Width属性,并赋值
    //}

    //var a = new Man(170, 120); 
    //alert(a.Height);
    //alert(a.Width);

    function Man() { //定义个Man函数
        this.Height=0; //动态给它添加一个Height属性,并给它赋初始值,进行初始化。     
    }
    var a = new Man();
    a.Height=170
    alert(a.Height); //输出170
</script>




基础与如何引用外部js文件

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>广东易通</title>
    <script src="JScript1.js" type="text/javascript"></script><!--从外部引用js文件的方式:js内容全部写在外部文件里,这里使用引用-->

    <script type="text/javascript">
        var strTime = Date();
        alert(strTime.toLocaleString());

        //javascript是弱类型,声明类型的时候无法:int i=10;只能用var i=10;这种形式来声明变量【这个var与c#里面的var不一样,c#中的var是类型推断,而这里的var是一个动态的类型的。具体看下面两段代码】

        var i = 10; //声明一个变量,变量名字为i,指向10这个整数,一旦它指向10,那么它就是int类型了
        i = "abc"; //虽然它上面指向了一个int型。但是它同样还可以指向别的类型。这里它又指向了一个值为"abc"的字符串,所以它又变成string类型了


        function person(name, age) { //声明一个函数,当成类来用
            this.Name = name;
            this.Age = age;
            this.Sayhello = function () { alert(this.Name) }
        }

        // var p1 = person("tom",30);不要丢了new,否则就变成直接调用这个函数了
        var p1 = new person("tom", 30);
        p1.Sayhello();
        
    </script>
</head>
<body>

</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值