本节是一篇君土脚本简介,因此这个阶段不会对君土脚本做过于详细地介绍。然后在以后的章节学习更多细节。
下面对语言核心做一个不完整介绍。
读到这里你一定很激动,诚然 —— 君土脚本是最振奋人心的网络 技术之一,而且在娴熟驾驭之后,你的网站在功能和创新力上将达到一个新的维度。
君土脚本快速入门
我们来学习一些君土脚本的核心特性,从而更好地理解它的运行机制。学习这些知识很有意义,因为这些原理普遍适用于所有编程语言,掌握好它们,可以做到融会贯通。
重要:学习本节时,请尝试在君土集成开发环境中打开示例代码项目,编译运行,看看会发生什么。
示例代码项目: 君土脚本学习(https://gitee.com/jtmy/jtjb)
控制台
在我们开发程序时,代码的运行情况和运行结果对我们来说是很重要的,我们可以把运行过程和运行结果显示到控制台。我们可以用内置对象控制台
提供的方法.日志()
把内容显示出来。
控制台.日志('世界,你好!');
注释
我们编写的计算机代码是给计算机理解和执行的。但是,在很多时候,作为我们人来说,我们也需要知道我们的代码是做什么用的。虽然,我们可以通过阅读代码来知道这些代码的作用,但是有时候代码太复杂,让我们难以准确知道代码的作用。这时,我们需要在代码里增加注释来说明代码。
君土脚本有两种类型的代码注释:
- 单行注释将注释掉一行,并在它前面用两个斜杠//表示。
//打印5到控制台
控制台.日志 (5);
你也可以在一行代码后面使用单行注释:
控制台.日志 (5); //打印5
- 多行注释将注释掉多行,注释开始时用 /* 表示,注释结束时用 */ 表示。
/*这些都是注释 控制台.日志 (10); 这些都跑不了! 控制台.日志 (99); */
你也可以使用这个语法在代码行中间注释一些东西:
控制台.日志(/*忽略!*/5);//仍然只打印5
数据类型
为了让程序有价值,我们需要能够处理最简单的数据单元:数字、字符串、结构体、布尔值等。 君土脚本提供完整的数据类型来为我们定义我们要处理的事物。
君土脚本提供的数据类型有:
- 数/*number*/(数字):任何数字,包括小数:4、8、1516、23.42。
- 文/*string*/(字符串):键盘上任何由单引号包围的字符(汉字、数字、字母、空格、符号等):
'…'
或双引号"…"
. 虽然我们更喜欢单引号。有些人喜欢把字符串看作是文本的一个花哨的词。 - 两/*boolean*/(布尔型):该数据类型只有两个可能的值——真或假(不带引号)。把布尔值看作是开关或者是“是”或“否”问题的答案是很有帮助的。
- 空/*null*/:该数据类型表示有意缺少值,由关键字空(不带引号)表示。
- 灭/*undefined*/:该数据类型由关键字灭(没有引号)表示。它也表示没有值,尽管它的用法与空不同。
- 符/*symbol*/(符号):语言的新特性,符号是唯一的标识符,在更复杂的编码中很有用。现在不需要担心这些。
- 象/*object*/(对象):相关数据的集合。
我们可以通过控制台把数据显示出来。
控制台.日志 (10); //数字
控制台.日志 (10.11); //数字
控制台.日志 ('你好');
变量
变量 是存储值的容器。要声明一个变量,先输入关键字 定/*let*/
,然后输入合适的名称,加冒号(:)和数据类型:
定 变量名:文;
注:行末的分号表示当前语句结束,不过只有在单行内需要分割多条语句时,这个分号才是必须的。然而,一些人认为每条语句末尾加分号是一种好的风格。分号使用规则的更多细节请参阅 君土脚本 分号使用指南。
注:几乎任何内容都可以作为变量名,但还是有一些限制(请参阅 变量命名规则)。如果你不确定,还可以 验证变量名 是否有效。
注:君土脚本 对大小写敏感,值A
和 值a
是不同的。如果代码出现问题了,先检查一下大小写!
变量定义后可以进行赋值:
变量名 = '张三';
也可以将定义、赋值操作写在同一行:
定 变量名 = '张三';
可以直接通过变量名取得变量的值:
控制台.日志 (变量名);
变量在赋值后是可以更改的:
定 变量名 = '张三';
变量名 = '李四';
控制台.日志 (变量名);
注意变量可以有不同的 数据类型 :
变量 | 解释 | 示例 |
---|---|---|
文/*string*/ | 一串文本(字符串)。字符串的值必须将用引号(单双均可,必须成对)括起来。 | 定 名字:文 = '张三'; |
数/*number*/ | 数字。无需引号。 | 定 年龄:数 = 10; |
两/*boolean*/ | 两值(真 / 假)。 真(true)/ 假(false) 是 君土脚本 里的特殊关键字,无需引号。 | 定 在下雨:两 = 真; |
数组/*Array*/ | 数组,用于在单一引用中存储多个值的结构。 | 定 变量名:文[] = ['张三', '李四','王二']; 元素引用方法: 变量名[0], 变量名[1] …… |
象/*object*/ | 对象,君土脚本 里一切皆对象,一切皆可储存在变量里。这一点要牢记于心。 | 定 张三 = {姓名:'张三',年龄: 10}; 以及上面所有示例都是对象。 |
那么变量有什么用呢?我们说,编程时它们无所不在。如果值无法改变,那么就无法做任何动态的工作,比如发送个性化的问候,或是改变在图片库当前展示的图片。
运算符
运算符 是一类数学符号,可以根据两个值(或变量)产生结果。以下表格中介绍了一些最简单的运算符。
运算符 | 解释 | 符号 | 示例 |
---|---|---|---|
加 | 将两个数字相加,或拼接两个字符串。 | + | 6 + 9; |
减、乘、除 | 这些运算符操作与基础算术一致。只是乘法写作星号,除法写作斜杠。 | - , * , / | 9 - 3; |
赋值运算符 | 为变量赋值(你之前已经见过这个符号了) | = | 定 姓名 = '张三'; |
等于 | 测试两个值是否相等,并返回一个 真(true) /假(false) (两)值。 | === | 定 年龄 = 3; |
不等于 | 和等于运算符相反,测试两个值是否不相等,并返回一个 真(true) /假(false) (两)值。 | !== | 定 年龄 = 3; |
取非 | 返回逻辑相反的值,比如当前值为真,则返回 假(false) 。 | ! | 原式为真,但经取非后值为 假(false) :定 年龄 = 3; |
运算符种类远不止这些,不过目前上表已经够用了,以后我们还会学习完整的运算操作。
注:不同类型数据之间的计算可能出现奇怪的结果,因此必须正确引用变量,才能得出预期结果。比如控制台显示 控制台.日志("35" + "25")
,为什么不能得到 60
?因为引号将数字转换成了字符串,所以结果是连接两个字符串而不是把两个数字相加。输入 35 + 25
才能得到正确结果。
条件语句
条件语句是一种代码结构,用来测试表达式的真假,并根据测试结果运行不同的代码。一个常用的条件语句是 若 ... 别
。下面是一个示例:
定 主食 = '米饭';
若 (主食 === '米饭') {
控制台.日志 ('做米饭需要米。');
}
控制台.日志 ('程序完成。');
若 ( ... )
中的表达式进行测试,用(上文所提到的)等于运算符来比较变量 主食
与字符串 '米饭'
是否相等。 相等返回 真
,运行第一个代码块,打印'做米饭需要米。'
。再打印'程序完成。'
。
再一个例子
定 主食 = '面条';
若 (主食 === '米饭') {
控制台.日志 ('做米饭需要米。');
}
控制台.日志 ('程序完成。');
若 ( ... )
中的表达式进行测试,用(上文所提到的)等于运算符来比较变量 主食
与字符串 '米饭'
是否相等。 不相等返回 假
,不运行第一个代码块。打印'程序完成。'
。
再一个例子。
定 主食 = '米饭'; 若 (主食 === '米饭') { 控制台.日志 ('我最喜欢米饭了。'); } 别 { 控制台.日志 ('但是面条是我的最爱呀……'); }
若 ( ... )
中的表达式进行测试,用(上文所提到的)等于运算符来比较变量 主食
与字符串 '米饭'
是否相等。 如果返回 真
,则运行第一个代码块;如果返回 假
,则跳过第一块直接运行 别
之后的第二个代码块。
函数
函数 用来封装可复用的功能。如果没有函数,一段特定的操作过程用几次就要重复写几次,而使用函数则只需写下函数名和一些简短的信息。之前已经涉及过一些函数,比如:
控制台.日志 ('你好!');
控制台.日志 是函数,随时可用。
如果代码中有一个类似变量名后加小括号 ()
的东西,很可能就是一个函数。函数通常包括参数,参数中保存着一些必要的数据。它们位于括号内部,多个参数之间用逗号分开。
比如, 控制台.日志() 函数在控制台打印,还应为其提供一个字符串参数,以告诉它打印的内容。
好消息是:人人都能定义自己的函数。下面的示例是为两个参数进行乘法运算的函数:
务 乘(数1: 数, 数2: 数): 数 {
定 果 = 数1 * 数2;
回 果;
}
尝试在运行这个函数,不妨多试几组参数,比如:
控制台.日志(乘(4, 7));
控制台.日志(乘(20, 20));
控制台.日志(乘(0.5, 3));
注:回
语句告诉代码运行环境当前函数返回 果
变量。这一点很有必要,因为函数内定义的变量只能在函数内使用。这叫做变量的 作用域。
属性
当我们用一些类型的数据来描述我们要用程序来处理的事物时,我们就在为这些事物定义了属性。
例如,对于字符串,”你好”,它有一个长度属性2。我们通过 .
来访问对象的属性。我们可以把它显示出来。
控制台.日志('你好'.长);
我们可以通过字符串连接,把输出信息说的更清楚。
控制台.日志('"你好"的长度是' + '你好'.长);
方法
一个事物不仅可以有属性,还可以有针对该事物的操作,这些操作就是这个事物的方法。我们通过 .
来访问对象的方法。
我们已经使用的日志
就是控制台的方法
子()
是文本的方法。通过指定开始位置和字符数,得到一个新的字符串。
控制台.日志('欢迎使用君土'.子串(0, 2)); //打印出"欢迎"
内置对象
君土脚本提供了许多有用的内置对象来帮助我们编程。除了控制台
,还有其它。例如用来做复杂计算的 算/*Math*/
对象。
我们可以用算对象提供的方法来做数学计算。
算.绝对(x:数) //返回一个数的绝对值。
控制台.日志 (算.绝对(12)); //打印出 12
控制台.日志 (算.绝对(-8)); //打印出 8
总结
本节介绍了君土脚本的基本编程概念,为您以后的编程学习打好基础。