【Javascript】—— 1 方法function的高级特性

  本篇仅仅对于function作简单的讲解,在javascript中function不仅仅是方法,它其实是一个变量,因此拥有自己的属性,并且可以当做参数传递给其他的方法。

  那么传统的方法,按照java的写法应该如下的创建:

<!-- 普通的function -->
            function testFunc1(name,age){
                console.log("name"+name+" age"+age);
            }
            testFunc1("xingoo",26);

  但是我们在javascript中也可以通过var声明变量的方式来创建,但是需要使用Function方法。

  Function方法,前几个参数是我们创建的方法的参数,最后一个是它的方法体。

            <!-- 通过创建变量方式,创建的function -->
            var testFunc2 = new Function("name","age","console.log(‘name‘+name+‘ age‘+age)");
            testFunc2("halo",25);

  方法还有几个比较常用的属性:

  length 参数的个数

  toString() 可以获取方法的源码,如果采用第二种方法创建的方法则方法名会以anonymous来代替。

  valueOf() 作用类似toString()

  下面看一下可以运行的代码:

<!doctype html>
<html>
    <head>
    </head>
    <body>
        <script type="text/javascript">
            <!-- 普通的function -->
            function testFunc1(name,age){
                console.log("name"+name+" age"+age);
            }
            testFunc1("xingoo",26);

            <!-- 通过创建变量方式,创建的function -->
            var testFunc2 = new Function("name","age","console.log(‘name‘+name+‘ age‘+age)");
            testFunc2("halo",25);

            console.log(testFunc1.length);
            console.log(testFunc1.toString());
            console.log(testFunc2.toString());
            console.log(testFunc2.valueOf());
        </script>
    </body>
</html>

  运行结果为

时间: 2024-10-26 06:02:25

【Javascript】—— 1 方法function的高级特性的相关文章

javascript高级特性

01_javascript相关内容02_函数_Arguments对象03_函数_变量的作用域04_函数_特殊函数05_闭包_作用域链&闭包06_闭包_循环中的闭包07_对象_定义普通对象08_对象_定义函数对象09_对象_内建对象10_原型_为函数对象增加属性或方法11_原型_利用函数对象本身重写原型12_继承_函数对象之间的继承13_继承_普通对象之间的继承 javascript高级特性(面向对象): * 面向对象:   * 面向对象和面向过程的区别:     * 面向对象:人就是对象,年龄\

JavaScript【5】高级特性(作用域、闭包、对象)

笔记来自<Node.js开发指南>BYVoid编著 1.作用域 if (true) { var somevar = 'value'; } console.log(somevar); JavaScript的作用域完全是由函数决定的,if.for语句中的花括号不是独立的作用域. 1.1.函数作用域 作用域是通过函数来定义的,在一个函数中定义的变量只对这个函数内部可见,我们称为函数作用域.在函数中引用一个变量时,JavaScript会先搜索当前函数作用域,或者称为"局部作用域",

call 方法 (Function) (JavaScript)

call 方法 (Function) (JavaScript) 调用一个对象的方法,用另一个对象替换当前对象. 语法 call([thisObj[, arg1[, arg2[, [, argN]]]]]) 参数 thisObj 可选.将作为当前对象使用的对象. arg1, arg2, , argN 可选.将被传递到该方法的参数列表 备注 call 方法用于调用代表另一项目的方法.它允许您将函数的 this 对象从初始上下文变为由 thisObj 指定的新对象. 如果没有提供 thisObj 参数

JavaScript高级特性之原型

JavaScript的原型 原型prototype属性只适用于函数对象(这里的函数对象是自己为了理解更好定义的,普通对象是没有原型属性的) 1.研究函数原型: <script type="text/javascript"> //原型是函数对象的一个属性(普通对象是没有原型属性的.). function Person(){ this.name="李卫康"; this.sayHi=function(){ alert("Hi"); } };

一篇文章把你带入到JavaScript中的闭包与高级函数

在JavaScript中,函数是一等公民.JavaScript是一门面向对象的编程语言,但是同时也有很多函数式编程的特性,如Lambda表达式,闭包,高阶函数等,函数式编程时一种编程范式. function dada() { var a = 1; var b = function() { console.log(a); } return b // b 就是一个闭包函数,因为它能访问dada函数的作用域 } JavaScript的函数也是对象,可以有属性,可以赋值给一个变量,可以放在数组里作为元素

JS高级特性

一.JavaScript的同源策略 参考链接:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Same_origin_policy_for_JavaScript 同源策略限制了一个源(origin)中加载文本或脚本与来自其它源(origin)中资源的交互方式. 同源定义 如果两个页面拥有相同的协议(protocol),端口(如果指定),和主机,那么这两个页面就属于同一个源(origin). 下表给出了相对http://store.c

Python高级特性(2):Closures、Decorators和functools(转)

原文:Python高级特性(2):Closures.Decorators和functools 装饰器(Decorators) 装饰器是这样一种设计模式:如果一个类希望添加其他类的一些功能,而不希望通过继承或是直接修改源代码实现,那么可以使用装饰器模式.简单来说 Python中的装饰器就是指某些函数或其他可调用对象,以函数或类作为可选输入参数,然后返回函数或类的形式.通过这个在Python2.6版本中被新 加入的特性可以用来实现装饰器设计模式. 顺便提一句,在继续阅读之前,如果你对Python中的

javascript匿名方法

首先,看一段很有意思的代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>匿名</title> <script type=&qu

Python3 高级特性

切片 L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3.即索引0,1,2,正好是3个元素. 如果第一个索引是0,还可以省略: >>> L =['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']>>> L[:3] ['Michael', 'Sarah', 'Tracy'] 也可以从索引1开始,取出2个元素出来: >>> L[1:3] ['Sarah', 'Tracy'] 类似的,既然Python支持L[