五、AppleScript 中的handler(函数)

处理代码块

  • 无参数的handler
on setHelloWorld()
    set a to "Hello World!"
end setHelloWorld

调用该代码块

setHelloWorld()
image.png

在代码块前 也可以执行 handler,定义和调用不用管顺序

  • 带参数的handler
on setA(str)
    set a to str
end setA

setA("Hello World!")
image.png
  • 带多个参数的handler
on dialogHelloWorld(str1, str2)
    display dialog str1 & str2 buttons {"OK"} default button "OK"
end dialogHelloWorld

dialogHelloWorld("Hello ", "World!")
  • 带返回值的handler
on getStringA(strA)
    set a to strA & strA
    return a
end getStringA
set a to getStringA("ha")
image.png

如果需要多个返回值,只能返回列表或记录

  • 在其他程序中调用handler
    仍以这个例子来说,在Finder里调用
on dialogHelloWorld(str1, str2)
    display dialog str1 & str2 buttons {"OK"} default button "OK"
end dialogHelloWorld

tell application "Finder"
    dialogHelloWorld("Hello ", "World!")
end tell
image.png
  • 除了像上面那样,在外部单独调用,我们可以加上of me来标记这个handler
on dialogHelloWorld(str1, str2)
    display dialog str1 & str2 buttons {"OK"} default button "OK"
end dialogHelloWorld

tell application "Finder"
    dialogHelloWorld("Hello ", "World!") of me
end tell
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 处理代码块 例 : 无参数的handler 调用该代码块 在代码块前 也可以执行 handler 带参数的hand...
    快乐的老船长阅读 515评论 0 0
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,621评论 0 5
  • 在此处先列下本篇文章的主要内容 简介 next方法的参数 for...of循环 Generator.prototy...
    醉生夢死阅读 1,463评论 3 8
  • 函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 上面代码检查函数l...
    呼呼哥阅读 3,438评论 0 1
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,267评论 0 4