怎么制作一个网站的二维码,网站建设企划动力,优化设计五年级下册数学答案,个人资料展示网站一、变量声明
变量是一种使用方便的占位符#xff0c;用于引用计算机内存地址#xff0c;可以将变量看做存储数据的容器
命名规则#xff1a;
1.变量名称可以包含数字和字母
2.除了下划线_和美元$符号外#xff0c;不能包含其他特殊字符#xff0c;包括空格
3.变量名…一、变量声明
变量是一种使用方便的占位符用于引用计算机内存地址可以将变量看做存储数据的容器
命名规则
1.变量名称可以包含数字和字母
2.除了下划线_和美元$符号外不能包含其他特殊字符包括空格
3.变量名不能以数字开头 以下四种方式声明变量
1.声明变量的类型及初始值
var [变量名] : [类型] 值;var uname:string SSS
2.声明变量的类型但没有初始值变量值会设置为undefined:
var [变量名] [类型];var uname string
3.声明变量名和初始值但不设置类型该变量可以为任意类型
var [变量名] 值;var uname SSS
4.声明变量没有设置类型和初始值类型可以是任意类型默认初始值为undefined:
var [变量名]var uname;
示例
ts:
var uname:string Runoob;
var score1:number 50;
var score2:number 42.50
var sum score1 score2
console.log(名字: uname)
console.log(第一个科目成绩: score1)
console.log(第二个科目成绩: score2)
console.log(总成绩: sum)
注变量不要使用name否则会与DOM中的全局window对象下的name属性出现重名
js:
var uname Runoob;
var score1 50;
var score2 42.50;
var sum score1 score2;
console.log(名字: uname);
console.log(第一个科目成绩: score1);
console.log(第二个科目成绩: score2);
console.log(总成绩: sum);
结果:
名字: Runoob
第一个科目成绩: 50
第二个科目成绩: 42.5
总成绩: 92.5 二、类型断言Type Assertion
类型断言可以用来手动指定一个值的类型即允许变量从一种类型改为另一种类型
语法格式
类型 值或值 as 类型
示例
var str 1
var str2:number number any str //str、str2 是 string 类型
console.log(str2)
TypeScript是如何确定单个断言是否足够
当S类型是T类型的子集或者T类型是S类型的子集时S能被成功断言为T这是为了在进行类型断言时提供额外的安全性完全毫无根据的断言是危险的除非用any
此之所以不能被称为类型转换是因为转换通常意味着某种运行时的支持但是类型断言是一个编译时语法同时也是一种为编译器提供关于如何分析代码的方法
以上代码编译后的结果
var str 1;
var str2 str; //str、str2 是 string 类型
console.log(str2); 三、类型推断
当类型没有给出时TypeScript编译器利用类型推断来推断类型
如果由于缺乏声明而不能推断出类型那么它的类型被视作默认的动态any类型
var num 2; // 类型推断为 number
console.log(num 变量的值为 num);
num 12; // 编译错误
console.log(num); 第一行代码声明了变量num并设置初始值为2注意变量声明没有指定类型因此程序使用类型推断来确定变量的数据类型第一次赋值为2num设置为number类型
第三行当再次为变量设置字符串类型的值时编译会错误因为变量已经设置了number类型
error TS2322: Type 12 is not assignable to type number. 四、变量作用域
变量作用域指定了变量定义的位置
程序中变量的可用性由变量作用域决定
TypeScript有以下几种作用域
1.全局作用域全局变量定义在程序结构的外部它可以在代码的任何位置使用
2.类作用域这个变量也可以称为字段类变量声明在一个类里头但在类的方法外面该变量可以通过类的对象来访问类变量可以是静态的静态的变量可以通过类名直接访问
3.局部作用域局部变量局部变量只能在声明他的一个代码块方法中使用
示例
ts
var global_num 12 // 全局变量
class Numbers { num_val 13; // 实例变量static sval 10; // 静态变量storeNum():void { var local_num 14; // 局部变量}
}
console.log(全局变量为: global_num)
console.log(Numbers.sval) // 静态变量
var obj new Numbers();
console.log(实例变量: obj.num_val)
js
var global_num 12; // 全局变量
var Numbers /** class */ (function () {function Numbers() {this.num_val 13; // 实例变量}Numbers.prototype.storeNum function () {var local_num 14; // 局部变量};Numbers.sval 10; // 静态变量return Numbers;
}());
console.log(全局变量为: global_num);
console.log(Numbers.sval); // 静态变量
var obj new Numbers();
console.log(实例变量: obj.num_val);
结果
全局变量为: 12
10
实例变量: 13
如果在方法外调用局部变量会报错
error TS2322: Could not find symbol local_num.