JavaScript学习总结
JavaScript 是 Web 的编程语言 JavaScript标识符与其他语法存在差异:第一个字符只能是字母、下划线( _ )或美元符号( $ )之一,其他字符可以是字母、下划线、美元符号或数字。 关键字 break do instanceof typeof case else new var catch finally return void continue for switch while debugger function this with default if throw delete in try 这些关键字不能作为变量名和函数名使用,若使用关键字作为变量名或函数名,会使JavaScript在载入过程中出现编译错误。
操作符 JavaScript中的操作符与我们之前学过的C++大同小异
赋值操作符 = += -+ *= /= %=
条件(问号)操作符 ? :
关系操作符 <> <=>= == === != !==
算术操作符 + - * / %
布尔操作符 && || !
一元操作符 ++ --
变量 我们使用var声明变量 (let,const在后面的学习中TypeScript使用let 和 const不使用var,使用let或const申明变量,并加上类型说明,且作用域为块级即以{}为界) var 声明的变量会被提升到当前作用域的最前面,它的作用域范围也就是当前作用域
当我们删除var时,变为全局变量 (引用一段代码加深理解)
function test(){
var message = "hi"; // 局部变量,去掉var即为全局变量
}
test();
alert(message); // 错误!
函数 1.function xxx(){} 2.var xx = function(){} this:函数内部的另一个特殊对象是 this ,其行为与 Java中的 this大致类似。this引用的是执行函数的环境对象(当在网页的全局作用域中调用函数时,this对象引用的就是window)。 全局范围内使用this,它指向全局对象
this//浏览器里就是window
foo() //这种函数调用中的this也是全局对象,如果在严格模式下将是undefined
test.foo(); //this指向test对象
new foo(); //this指向新创建的对象
对象 我们常将数据和方法封装在对象Object中
数组Array push() 是向数组末端添加项 shift() 它能够移除数组中的第一个项并返回该项,同时将数组长度减1 unshift() 它能在数组前端添加任意个项并返回新数组的长度 push、pop操作在数组末,而 unshift、shift操作在数组头;push、unshift压入而pop、shift弹出
TypeScript学习总结
Typescript,作为Javascript的超集,引入了class的写法,并且定义变量和方法的时候要声明数据类型。 相对于JavaScript而言,使用TypeScript有更多的优势,静态输入 静态类型化是一种功能,可以在开发人员编写脚本时检测错误;使用TypeScript工具来进行重构更变的容易、快捷,以及可以在编码期间检测错误的功能,而不是在编译项目时检测错误等等。
区别:
- 语法层面:TypeScript = JavaScript + Type (TS 是 JS 的超集)
- 执行环境层面:浏览器、Node.js 可以直接执行 JS,但是不能执行 TS
- 编译层面:TS 有编译阶段,JS 没有(JS只有转译阶段和lint阶段)
- 编写层面:TS 有类型判断,更加安全些
|