javascript概要
javascript概要
基础部分:
语言特点:解释型语言、动态语言、弱类型定义语言、函数式编程、基于原型的面向对象(可忽略)。
应该知道的一些概念:
解释型语言编写的程序是直接由运行环境执行的,需要的是源代码文件与解释器(运行环境),是解释一句执行一句。(php、python)
编译型语言编写的程序是需要编译和链接的,生成的是可执行代码(c)或基于某种运行环境的字节码(c#、java)。
动态语言是不需要(没有强制性)在变量定义时指定数据类型的,变量的数据类型是在运行时有上下文来判断的。(python、php)。
静态语言是指在变量定义时必须指定其数据类型的语言,如c,需要在变量声明时指定数据类型。
强类型定义语言是指一个变量在指定其数据类型后,必须经过显式的强制转换才能指定其他类型的语言。(c、java、python),但其中存在了一些隐式转换(不需要指定要转换的类型,解释器或编译器根据推断来指定要转换的类型,如 I = "kkkk";I = 1 ;之后变为了int型)。但不允许不同类型的变量进行运算。
弱类型定义语言是变量可以随时修改其数据类型的语言。(php、vb),可以进行不同类型的变量运算(运算规则可能发生了变化)。如
I = 1;I +='2';// I 的值变为了'12' I = 1; I -='2'; // I 的值变为了-1 |
javascript的数据类型
字符串型、数值型、布尔型、null、undefined //基本数据类型
Object类型为其构造类型,用于用户的自定义类型。(function类型是另一种构造类型,但我认为可以将他归于Object类型中,不必划分的过于细致,除非非的区分他俩时(判断一个变量的类型 ))。
数据类型 | 示例 | 说明 |
字符串型 | var I ='hello'; var I = "hello"; var I = 'hello "hhhh"'; | 字符串使用双引号或单引号括起来表示,特殊字符可以通过转义字符来表示 |
数值型 | var I = 1 ; | 数值的内部都是64位的浮点小数,但是没有直接指定的必要 |
布尔型 | var I = true; var I = false ; | |
null | var I = null; | 指定变量没有任何引用任何对象 |
undefined | 不主动使用 | 用于标定变量是否有其具体的意义 |
Object ( function ) | var obj = { var I ;var I } ; //生成object类型
var func = function(){
};//生成function类型 | 用于构造用户自定义的数据类型,使用大括号来标记
|
补充:字符串型、数值型、布尔型都有对应的对象(String类、Number类、Boolean类),当通过字符串型的变量调用String类的属性或方法是,会发生隐式转换,其余几个也会有类似的。
数据类型转换:
Number(值);// 将值转换为数值型
String(值); //将值转换为字符串型,当含有不可转换的字符是,会转换成NaN
Boolean(值);//将值转换成布尔型,特别的,空字符串( "" )和0、null、NaN、undefined代表了false,其余的代表了true
javascript的语句、表达式、运算符 (结构)
应该知道的一些概念:
对应语句来说,最终都可以分解成保留字、表达式与符号(括号或者分号等),换句话说,语句的基本构成是保留字、表达式、符号,复杂语句是通过了很多的递归一类的操作形成的。
单条语句使用分号分隔,复合语句(代码块)使用大括号来分隔。
语句类型 | 示例 | 说明 |
变量声明语句 | ||
函数声明语句 | ||
表达式语句 | ||
控制语句 | ||
if-else | ||
switch-case | ||
while | ||
do-while | ||
for | ||
for-in | ||
for each in | ||
continue | ||
break | ||
return | ||
try -catch -finally | ||
with |
运算符
按优先级顺序排列 | |||||||||||
. | [ ] | New | |||||||||
( ) | |||||||||||
++ | -- | ||||||||||
! | ~ | +(单目) | -(单目) | typeof | void | delete | |||||
% | * | / | |||||||||
+ | - | ||||||||||
<< | >> | >>> | |||||||||
== | !== | === | |||||||||
& | |||||||||||
^ | |||||||||||
| | |||||||||||
&& | |||||||||||
|| | |||||||||||
? : | |||||||||||
= | += | -= | *= | /= | %= | <<= | |||||
, |
注释:
// 单行注释
/* 多行注释 */
javascript中的数据对象
变量: var valueName ; //声明一个变量但没初始化
valueName = 1 ; // 进行初始化
var valueName = 1 ; //声明一个变量并初始化
应该知道的情况:
将类作为基本数据类型的扩充可以不用去考虑面向对象之类的东东,应为你只是个程序员,就是搬砖的,不需要考虑软件的设计部分。( 或者等你进阶之后,它才是你所需要了解的知识)。