javascript 的函数指针数组

有时候想将整体的JS分层次的管理,而函数名字却一个个的是固定的,怎么能使用类似于str[i]这样调用函数呢?看下边的例子:

 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>函数指针数组</title>
</head>
<body>
<script type="text/javascript">
function func_1()
{
    return "func_1";
}
function func_2()
{
    return "func_2";
}
function func_3()
{
    return "func_3";
}
var funcs = [func_2, func_1, func_3]
var funcNames = []
for(var i = 0; i < funcs.length; i++){
    var r = funcs[i]();
    funcNames[i] = r + " ";
}
alert(funcNames.join('\n'));
</script>
</body>


这样就实现了函数数组的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个示例代码,它实现了创建一个指向 Book 类的指针数组,然后动态地创建 Book 类的对象和 EBook 类的对象,将这些对象存储到指针数组中,最后通过循环来调用每个对象的 print() 函数,实现多态输出。 ``` #include <iostream> #include <cstring> #include <vector> using namespace std; // 定义 Book 类 class Book { public: Book(const char* title, const char* author, int pageCount) : title(title), author(author), pageCount(pageCount) {} virtual void print() { cout << "Book: " << title << ", " << author << ", " << pageCount << " pages" << endl; } protected: const char* title; const char* author; int pageCount; }; // 定义 EBook 类,继承自 Book 类 class EBook : public Book { public: EBook(const char* title, const char* author, int pageCount, const char* fileSize) : Book(title, author, pageCount), fileSize(fileSize) {} void print() override { cout << "EBook: " << title << ", " << author << ", " << pageCount << " pages, " << fileSize << endl; } private: const char* fileSize; }; int main() { // 创建一个指向 Book 类的指针数组 vector<Book*> books; // 动态地创建 Book 类的对象和 EBook 类的对象,将这些对象存储到指针数组中 books.push_back(new Book("C++ Primer", "Stanley B. Lippman", 1008)); books.push_back(new EBook("JavaScript: The Definitive Guide", "David Flanagan", 1136, "5MB")); books.push_back(new EBook("Effective Python", "Brett Slatkin", 240, "2MB")); // 通过循环来调用每个对象的 print() 函数,实现多态输出 for (Book* book : books) { book->print(); }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值