zoukankan      html  css  js  c++  java
  • new Function()

    原文链接: new Function()
    原文日期: 2014年3月2日

    翻译日期: 2014年3月14日

    翻译人员: 铁锚


    JavaScript的精神领袖Douglas Crockford曾说过JavaScript是程序员唯一不需要学习就能直接使用的语言.
    在编程中确实是如此。我们大多数人都使用过JavaScript,近年来随着各种JavaScript框架的流行使得JavaScript变得更加神奇和容易。"Anonymous (匿名)函数?不知道那是什么但是看起来和自己所写的差不多。”
    你可能并不知道可以传给 new Function() 一个字符串作为函数的body来构造一个 JavaScript函数。编程中并不经常用到,但有时候应该是很有用的.

    The JavaScript
    下面是 new Function 的基本用法:
    // 最后一个参数是函数的 body(函数体),类型为 string;
    // 前面的参数都是 索要构造的函数的参数(名字)
    var myFunction = new Function('users', 'salary', 'return users * salary');
    非常简单,对吧?

    问题是:什么时候适合使用这种方式,而不使用传统的函数声明 function myFnName() 和/或 匿名函数定义? Andrea Giammarchi 认为,最适合使用 这种函数定义方式的场景是在NodeJS和浏览器的全局环境中:
    (function(win) {
    
    
    	// 在全局环境中执行某些操作
    
    
    })(Function('return this')());
    如果你曾经使用过 new Function模式,欢迎留言和讨论!
  • 相关阅读:
    读《大道至简—编程的精义》有感
    c++ 指针做为参数和返回值
    c++ 函数
    c++ 分配与释放内存
    c++ 以多维数组的形式访问动态内存
    c++ 动态数组,指针与动态内存分配
    c++ 指针访问数组
    c++ 常量指针
    c++ 指针
    c++ 字符串转换
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6467030.html
Copyright © 2011-2022 走看看