javascript|游戏开发之旅-JavaScript重新介绍( 三 )
如果想表示一个单独的字符 , 只需使用长度为 1 的字符串 。
通过访问字符串的 length(编码单元的个数)属性 , 可以得到它的长度 。
\"hello\".length; // 5
这是我们第一次碰到 JavaScript 对象 。 我们有没有提过你可以像 object 一样使用字符串?是的 , 字符串也有 methods(方法)能让你操作字符串和获取字符串的信息 。
\"hello\".charAt(0); // \"h\"
\"hello world\".replace(\"world\" \"mars\"); // \"hello mars\"
\"hello\".toUpperCase(); // \"HELLO\"
“Hello”.toLowerCase();//”hello”
“hello”.indexOf(“e”);//1
“hello”+””+”world”//helloworld
“hello”.slice(13);//el
“hello”.substr(13);//ell
“hello”.substring(13);//el
let arr=”helloworld”.split(“”);//arr[0
=”hello” ; arr[1
=”world”;
其他类型
与其他类型不同 , JavaScript 中的 null 表示一个空值(non-value) , 必须使用 null 关键字才能访问 , undefined 是一个“undefined(未定义)”类型的对象 , 表示一个未初始化的值 , 也就是还没有被分配的值 。 我们之后再具体讨论变量 , 但有一点可以先简单说明一下 , JavaScript 允许声明变量但不对其赋值 , 一个未被赋值的变量就是 undefined 类型 。 还有一点需要说明的是 , undefined 实际上是一个不允许修改的常量 。
JavaScript 包含布尔类型 , 这个类型的变量有两个可能的值 , 分别是 true 和 false(两者都是关键字) 。 根据具体需要 , JavaScript 按照如下规则将变量转换成布尔类型:
false、0、空字符串(\"\")、NaN、null 和 undefined 被转换为 false
所有其他值被转换为 true
也可以使用 Boolean() 函数进行显式转换:
Boolean(''); // false
Boolean(234); // true
不过一般没必要这么做 , 因为 JavaScript 会在需要一个布尔变量时隐式完成这个转换操作(比如在 if 条件语句中) 。 所以 , 有时我们可以把转换成布尔值后的变量分别称为 真值(true values)——即值为 true 和 假值(false values)——即值为 false;也可以分别称为“真的”(truthy)和“假的”(falsy) 。
JavaScript 支持包括 &&(逻辑与)、|| (逻辑或)和!(逻辑非)在内的一些逻辑运算符 。
变量
在 JavaScript 中声明一个新变量的方法是使用关键字 let 、const 和 var:
let 语句声明一个块级作用域的本地变量 , 并且可选的将其初始化为一个值 。
let a;
let name = 'Simon';
const 允许声明一个不可变的常量 。 这个常量在定义域内总是可见的 。
const Pi = 3.14; // 设置 Pi 的值
Pi = 1; // 将会抛出一个错误因为你改变了一个常量的值 。
var 是最常见的声明变量的关键字 。 它没有其他两个关键字的种种限制 。 这是因为它是传统上在 JavaScript 声明变量的唯一方法 。 使用 var 声明的变量在它所声明的整个函数都是可见的 。
var a;
var name = \"simon\";
如果声明了一个变量却没有对其赋值 , 那么这个变量的类型就是 undefined 。
JavaScript 与其他语言的(如 Java)的重要区别是在 JavaScript 中语句块(blocks)是没有作用域的 , 只有函数有作用域 。 因此如果在一个复合语句中(如 if 控制结构中)使用 var 声明一个变量 , 那么它的作用域是整个函数(复合语句在函数中) 。但是从 ECMAScript Edition 6 开始将有所不同的 ,let 和 const 关键字允许你创建块作用域的变量 。
运算符
JavaScript的算术操作符包括 +、-、*、/ 和 % ——求余(与模运算相同) 。 赋值使用 = 运算符 , 此外还有一些复合运算符 , 如 += 和 -= , 它们等价于 x = x operator y 。
- 数码知事|现在疯狂降价,但依旧无人购买,最惨游戏手机
- 新天域互联|将开发其首个英国数据中心园区?,谷歌购买33英亩土地
- 中国青年网|人脸追踪、双目活体对齐……系统梳理人脸识别开发的硬核技巧
- 美通社|Innotek开发高效磁性素材,LG
- 3D科学谷|深度剖析GE通过3D打印开发的一体式涡轮机中心框架
- 嘿丝儿科技|腾讯的开局,虎牙不再斗鱼:游戏直播的终局
- 3C毒物|莱仕达游戏手柄体验,任天堂玩家必备的一款手柄
- dji|大疆召开发布会发布新品,然而发布的却不是无人机
- IT之家|HS60 HAPTIC 游戏耳机上新:触感低音、迷彩配色,海盗船
- GeekChic|如何选择一家靠谱的软件开发公司?
