JavaScript(二)

一、Function对象

在js中,可以把方法当做一个对象,作为参数使用,而在java中方法就是方法,这么做是不允许的。

<script type="text/javascript">
        function fun1(name, age) {
            alert(name + age);
        }
        fun1("tom", 21);
        //new一个方法,前面是参数,后面是方法体
        var fun2 = new Function("name", "age", "alert(name+age)");
        fun2("jack", 5);
    </script>

Function对象的属性:

        var fun2 = new Function("name", "age", "alert(name+age)");
        //方法的参数个数,输出为2
        alert(fun2.length);

Function对象的方法:

var fun2 = new Function("name", "age", "alert(name+age)");
        //输出方法的源码
        alert(fun2.toString());

二、JavaScript闭包

闭包:能读取其他函数内部变量的函数

1.js变量的作用域

<script type="text/javascript">
        function fun1() {
            //var a = 22;
            a = 22;
        }
        fun1();
        alert(a);
    </script>

在一个方法中定义一个变量var a=22;在方法外是取不到的,如果改成a=22方法外就可以取到。

2.在方法外取到局部变量

<script type="text/javascript">
        function fun1() {
            var a = 22;
            function fun2() {
                alert(a);
            }
            return fun2;//返回一个对象,不是fun2()
        }
        var result = fun1();//result=fun2;
        result();
    </script>
    <script type="text/javascript">
        var name = "Window";
        var object = {
            name : "object",
            getName : function() {
                return function() {
                    //this是Window
                    return this.name;
                };
            }
        };
        alert(object.name);//输出object
        //返回一个function对象,调用的话加()
        alert(object.getName()());//输出Window
    </script>

三、JavaScript面向对象

1.构造对象的两种方式:

<script type="text/javascript">
        var obj = {
            name : "obj",
            action : function() {
                alert("会吃");
            }
        };

        alert(obj.name);
        obj.action();

        function person(name, age) {
            this.name = name;
            this.age = age;
            this.action = function() {
                alert("会吃");
            };
        }

        var jack = new person("jack", 1);
        alert(jack.name);
        jack.action();
    </script>

2.对象的属性

<script type="text/javascript">
        function obj() {
            this.objPro = "对象属性";
            obj.prototype.objPro2 = "对象属性2";
            var privatePro = "私有属性";
        }
        obj.classPro = "类属性";

        alert(obj.classPro);
        var obj = new obj();
        alert(obj.objPro);
        alert(obj.objPro2);
    </script>

3.对象的方法

    <script type="text/javascript">
        function C() {
            var privateFunc = function() {
                alert("私有方法");
            };
            privateFunc();
            this.objFunc = function() {
                alert("对象方法");
            };
            C.prototype.objFunc2 = function() {
                alert("对象方法2");
            };
        }
        C.classFunc = function() {
            alert("类方法");
        };

        C.classFunc();
        var c = new C();
        c.objFunc();
        c.objFunc2();
    </script>

4.js实现继承特性

    <script type="text/javascript">
        function Animal(name, age) {
            this.name = name;
            this.age = age;
            this.action = function() {
                alert("会吃");
            };
        }

        function Dog(name, age) {
            Animal.apply(this, [ name, age ]);
        }

        var jack = new Dog("jack", 1);
        //jack是Dog
        alert(jack.name);
        alert(jack.age);
        jack.action();
    </script>

原型继承:

<script type="text/javascript">
        function Animal(name, age) {
            this.name = name;
            this.age = age;
            this.action = function() {
                alert("会吃");
            };
        }

        function Dog(name, age) {
            Animal.apply(this, [ name, age ]);
        }
        //原型继承
        Dog.prototype = new Animal();

        var jack = new Dog("jack", 1);
        //jack是Animal
        alert(jack.name);
        alert(jack.age);
        jack.action();
    </script>

5.js实现多态特性

<script type="text/javascript">
        function Animal() {
            this.say = function() {
                alert("我是动物");
            };
        }

        function Dog() {
            this.say = function() {
                alert("我是狗");
            };
        }
        Dog.prototype = new Animal();

        function Cat() {
            this.say = function() {
                alert("我是猫");
            };
        }
        Cat.prototype = new Animal();

        function say(animal) {
            if (animal instanceof Animal) {
                animal.say();
            }
        }

        var dog = new Dog();
        var cat = new Cat();
        say(dog);//输出我是狗
        say(cat);//输出我是猫
    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Workbench是一个用于创建和自定义业务流程的工具。通过JavaScript次开发,可以为Workbench添加更多功能和定制化选项。 第一步是了解Workbench的基本架构和API。Workbench使用SoqlQuery语言查询数据库,并使用JavaScript、HTML和CSS构建用户界面。理解这个架构和API是进行次开发的基础。 之后可以根据需求进行功能的开发和定制。比如,可以添加自定义的表单和字段,以满足特定的业务需求。也可以通过JavaScript添加逻辑和流程控制,使得系统更加智能和灵活。 另外,可以通过JavaScript进行一些数据处理和操作。比如,可以通过JavaScript计算字段值、验证用户输入、处理数据关联等。这样可以扩展和增强Workbench的数据处理能力。 在进行次开发之前,需要先对Workbench进行配置和准备。可以通过Workbench的管理界面添加自定义对象、字段和布局,以及定义业务流程和权限控制等。 最后,测试和部署是次开发过程中的重要环节。通过测试可以保证开发的功能和逻辑是正确的。部署则是将开发好的功能发布到正式环境,供用户使用。 总的来说,Workbench的JavaScript次开发可以通过扩展和定制功能,增加系统的灵活性和可用性。通过了解和熟悉Workbench的架构和API,以及进行开发和部署,可以实现满足特定需求的定制化系统。 ### 回答2: workbench是一个用于开发和定制Salesforce平台的工具。它提供了许多功能,使开发人员能够创建和修改JavaScript代码以扩展Salesforce应用程序的功能。 在workbench中进行JavaScript次开发,开发人员可以使用JavaScript语言来编写自定义代码,以满足特定业务需求。他们可以通过workbench的集成开发环境(IDE)编辑和调试JavaScript代码,并使用Salesforce平台的API来访问和操作数据。 通过workbench进行JavaScript次开发,开发人员可以创建自定义按钮、自定义页面和验证规则等,以增强和定制Salesforce应用程序的功能。他们可以使用JavaScript来处理用户的输入和操作,并对数据进行验证和处理。通过使用workbench的开发工具,如代码编辑器和调试器,开发人员可以更轻松地编写和测试JavaScript代码,以确保其正确性和可靠性。 另外,workbench还提供了一些内置函数和库,用于简化JavaScript开发过程。这些函数和库提供了许多常见的功能和操作,如字符串处理、日期计算和数据转换等。开发人员可以利用这些功能来加快开发过程,并减少出错的可能性。 总而言之,workbench是一个强大的工具,可以支持JavaScript次开发。通过使用它,开发人员可以使用JavaScript语言来编写和修改Salesforce应用程序的代码,以实现定制的业务需求。无论是创建自定义按钮、自定义页面还是验证规则,workbench都提供了一系列的功能和工具,帮助开发人员更轻松地开发和测试JavaScript代码。 ### 回答3: Workbench JavaScript次开发是指在Workbench平台上使用JavaScript进行自定义开发的过程。Workbench平台是一个基于Web的集成开发环境,主要用于创建、编辑和管理业务流程和工作任务。 通过JavaScript次开发,我们可以根据实际需求对Workbench平台进行定制化的扩展和优化。以下是几个常见的次开发场景: 1. 自定义表单:通过JavaScript可以对Workbench平台提供的默认表单进行修改和自定义,实现更符合业务需求的数据展示和填写方式。你可以调整表单的布局、样式,增加自定义的校验和计算逻辑,甚至可以集成其他第三方控件和工具。 2. 定制动作按钮:Workbench平台通常提供了一些默认的动作按钮,比如保存、提交、撤回等。通过JavaScript次开发,可以新增自定义的动作按钮,并在点击事件中实现特定的逻辑处理,比如调用其他系统接口、发送消息等。 3. 高级查询和筛选:Workbench平台的默认查询功能可能无法满足复杂的查询需求。通过JavaScript次开发,可以实现更灵活的查询和筛选功能,比如添加条件组合、动态生成查询语句等。 4. 数据处理和计算:有时需要对Workbench平台上的数据进行进一步处理和计算。通过JavaScript次开发,可以编写脚本来实现这些需求,比如对数据进行加减乘除、日期计算等。 总而言之,Workbench JavaScript次开发可以帮助我们对平台进行定制,以满足特定业务需求。在开发过程中,我们需要熟悉Workbench平台的API和事件机制,并结合JavaScript的语法和功能进行开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值