javascript语言基础知识
一、JavaScript语法的引入方式。
1、直接引入(在html的head中直接引入js语法)
<script> js语法 </script>
2、导入文件(以导入文件的方式来引入语法)
<script src="文件路径"></script>
二、JavaScript的变量常量和标识符。
1、js中变量的声明方式
1.1声明一个变量:var 变量名=变量值;
1.2声明多个变量:var 变量名1=变量值1 ,变量名2=变量值2,变量名3=变量值3;
1.3注意:js是以分号作为一条语句的分隔符,以var作为变量的声明,如果声明了一个变量但是没有给这个变量赋值那么就打印出undefind的错误。
1.4变量声明时可以不用var,但如果不用var该变量就是全局变量。
1.5变量怎么命名?
1.5.1首字符只能是字母,下划线,$美元符 三选一。
1.5.2余下的字符可以是下划线、美元符号或任何字母或数字字符.
1.5.3变量命名区分大小写,x与X是两个变量。
2、js中的常量和标识符
2.1什么是常量?
不会变化的量的值,比如说π
2.2什么是标识符?
2.2.1由不以数字开头的字母、数字、下划线(_)、美元符号($)组成。
2.2.2常用于表示函数、变量等的名称,即变量就是标识符但是标识符不一定是变量。
2.2.3JavaScript语言中代表特定含义的词称为保留字,不允许程序再定义为标识符。
三、JavaScript中的数据类型。
1、数字类型(number)
1.1 不区分整数类型和浮点数类型,统称为数字类型
1.2 所有数字都采用64位浮点格式存储
1.3 16进制数据前面加上0x,八进制前面加0;16进制数是由0-9,A-F等16个字符组成;8进制数由0-7等8个数字组成。
1.4 NAN值 属于Number类型: 当遇到将字符串转成数字无效时,就会得到一个Nan数据
2、字符串类型(srting)
2.1 是由Unicode字符、数字、标点符号组成的序列;字符串常量首尾由单引号或双引号括起;JavaScript中没有字符类型;常用特殊字符在字符串中的表达;
2.2 字符串中部分特殊字符必须加上右划线\;常用的转义字符 \n:换行 \':单引号 \":双引号 \\:右划线.
3、布尔类型(boolean)
3.1 Boolean类型仅有两个值:true和false,也代表1和0,实际运算中true=1,false=0
3.2 布尔值也可以看作on/off、yes/no、1/0对应true/false
3.3 Boolean值主要用于JavaScript的控制语句
4、 Null & Undefined类型
1、Undefined类型
1.1 Undefined 类型只有一个值,即 undefined。
1.2 当声明的变量没有值时,该变量的默认值是 undefined。
1.3当一个函数无明确返回值或者没有返回值时,返回的也是 "undefined";
2、Null类型
21 Null类型只要一个专用值 null,即它的字面量。值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的。
2.2 尽管这两个值相等,但它们的含义不同。undefined 是声明了变量但未对其赋值时赋予该变量的值,null 则用于表示尚未存在的对象。如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。
四、JavaScript中的运算符
1、算术运算符: + - * / % ++ --
1.1注意:
1.2 加减号
1.2.1 减号除了可以表示减号还可以表示负号 例如:x=-y
1.2.2加号除了可以表示加法运算还可以用于字符串的连接 例如:
"abc"
+
"def"
=
"abcdef"
2、 比较运算符: > >= < <= != == === !==
2.1注意:
2.1.1静态类型语言 :一种在编译期间就确定数据类型的语言。Java 和 C 是静态类型语言。
2.1.2 动态类型语言 :一种在运行期间才去确定数据类型的语言.
2.1.3 强类型语言 :一种总是强制类型定义的语言。
2.1.4 弱类型语言: 一种类型可以被忽略的语言。
2.1.5 由于js是弱类型语言,所以用==来比较数据类型时会出现差错(js内部会进行类型转换),所以用===全等于符号来比较(告诉js内部不做类型转换)。
2.1.6 总结:
比较运算符两侧如果一个是数字类型,一个是其他类型,会将其类型转换成数字类型,如果转换无效那么会得到一个NaN的数据。
比较运算符两侧如果都是字符串类型,比较的是最高位的asc码,如果最高位相等,继续取第二位比较.
3、逻辑运算符: && || !
3.1 逻辑与(and) 、逻辑或(or)、非(not).
4、 赋值运算符: = += -= *= /=
4.1、与python相同。
5、 字符串运算符: + 连接,两边操作数有一个或两个是字符串就做连接运算。
五、JavaScript中的流程控制语句。
1、顺序执行
2、分支结构
2.1 if单分支
2.1.1 格式:if (判断条件){ 条件成立执行的程序1;条件成立执行的程序2;条件成立执行的程序3; }
else{ 条件不成立执行的程序1; 条件不成立执行的程序2;条件不成立执行的程序3;}
2.1.2 语法:
2.2 if多分支
2.2.1格式:if (判断条件) { 条件成立执行的程序; }else if(判断条件) { 条件成立执行的程序; }
else if (判断条件) { 条件成立执行的程序; } else{ 条件不成立执行的程序;}
2.2.2语法:
2.3、switch-case结构
2.3.1格式:switch (判断条件) { case 值1: 条件成立执行的程序;break;
case 值2: 条件成立执行的程序;;break;
case 值3: 条件成立执行的程序;break;
default: 条件都不成立执行的程序; }
2.3.2 语法:
3、循环结构
3.1 for循环
3.1.1for循环中的条件循环(相当于Python中的while)
格式: for(初始表达式(初始值);条件表达式;自增或自减) { 条件成立执行的程序 }
语法:
3.1.2 for循环中的遍历循环
格式:for( 变量名 in 数组或对象) { 执行语句}
语法:
3.2while循环
格式:while (判断条件) { 条件成立执行的程序;}
语法:
4、无论是fou循环还是whlie循环,当条件成立循环执行语句花括号{}内的语句,否则跳出循环;同样支持continue与break语句
5、异常处理
5.1 格式:
try { 运行的代码 }
catch (e) {抛出异常后运行此代码 ,e是一个局部变量,用来指向Error对象或者其他抛出的对象 }
finally { 无论try中代码是否有异常抛出(甚至是try代码块中有return语句),finally代码块中始终会被执行。 }
最新文章
- 【BZOJ3314】 [Usaco2013 Nov]Crowded Cows 单调队列
- objective c,copy, mutableCopy区别
- SVO实时全局光照优化(里程碑MK2):Sparse Voxel Octree based Global Illumination (SVO GI)
- Java生成公私钥对
- 转-TabHost组件(二)(实现底部菜单导航)
- zkclient
- 【Hadoop代码笔记】Hadoop作业提交之Child启动map任务
- FlexBuilder远程调试WEB应用
- node之fs模块
- Bootstrap3 表格-带边框的表格
- 前端性能优化 —— 添加Expires头与Cache-control区别
- myeclipse使用maven整合ssh配置
- 按行切割大文件(linux split 命令简版)
- 初识mysql数据库
- Webservice和EJB的区别
- 020 SpringMVC返回Json
- windows下php扩展存在但无法加载的问题
- AGC026D Histogram Coloring
- 【Semantic segmentation】Fully Convolutional Networks for Semantic Segmentation 论文解析
- Android-帧布局(FrameLayout)
热门文章
- RapidIO协议(1)
- TCP/IP的三次握手与四次挥手详解
- 61. Search for a Range【medium】
- 一键保存网页为PDF_V1.2
- iOS: 与 insertRowsAtIndexPaths 在 UITableview 中插入多个行
- python简单处理xml文件
- hibernate查询之后用el表达式取值时遇到的问题
- jxta 2.8x启动了
- java 证书 .cer 和 .pfx
- MongoDB save()方法和insert()方法的区别