学习JS的总结
通过此次对Js的简单学习,对JS有了一个大致的了解,JS与C语言有许多相似的语法特点。JS实现了实时且动态可交互的能力,从而能够在一个静态的HTML页面提供动态实时信息。
1.基本语法
- 首先JS的脚本代码必须位于标签
<script>和</script>
之间,而这整体可以放置在整个HTML页面的<body>和<head>
部分;也可以位于外部的JS文件中,再在HTML页面中进行引入; - JS的标识符按以下规则组合:第一个字符只能为
字母
、_
、$
之一,其他字符可以是字母
、_
、$
、数字
,一般书写方式采用驼峰大小写格式; - Js要区分大小写,对大小写敏感,例如:A和a有着不同的含义;
- 使用
var
关键字来声明变量,在变量声明后需要对变量进行赋值(或者在声明的时候同时赋值),在对变量二次声明的,变量的值依然存在; var
操作符定义的变量的作用域是局部范围,因此在退出作用域范围时,变量就会被销毁;- 操作符:一元操作符
++ --
,布尔操作符&& || !
,算术操作符+ - * / %
,关系操作符<> <=>= == === != !==
,条件操作符? :
,赋值操作符= += -+ *= /= %=
; - JS的语句块需要
{}
。
2.函数(核心)
此处的函数部分可以类比于C语言的函数。
函数是一个程序被调用执行时的可重复使用的代码块,可以装任意多的语句,大致格式如下:
function functionname()
{
//代码块
}
此处的function只能小写,并且调用时要注意函数名的大小写
- 在调用函数时,可以传递参数,用
,
隔开; - 代码块内加入
return
语句说明其有返回值; - 函数内部声明的变量是局部变量,只能在内部访问,函数运行后被删除;
- 函数外部声明的变量是全局变量,网页所有的脚本与函数都可访问,页面关闭后被删除;
- 赋值给未声明的变量,则变量会自动作为window的属性;
- 若定义了两个名字一样函数,则名字属于后定义的函数;
- 与c不同的是,JS的函数定义了n个参数,但传值不一定是n个。
3.对象
-
对象的创建:
-
直接new一个新对象
var objectname = new Object();
-
直接使用字符定义一个新对象
var objectname = { //属性和方法; }
-
-
对象属性
-
键值对在JS对象通常称为对象属性;
-
访问对象属性,例子如下:
var student = { stuname : "Jerry" } the first way : student.stuname; the second way : student["stuname"];
-
-
对象方法
-
即调用对象定义时创建的函数;
-
访问对象方法,例子如下:
methodname : function(){ //代码; } objectname.methodname(); objectname.methodname;//返回函数的定义
-
4.数组
-
其大小可以动态调整;
-
数组的创建:
-
直接new一个新数组
var arrayname = new Array('data1','data2');
-
直接创建包含几个字符串的数组
var arrayname = ['data1','data2','data3'];
-
-
数组的方法
-
元素联合(掌握)
var arrayname = ['data1','data2','data3']; console.log(arrayname.join(','));//data1,data2,data3 console.log(arrayname.join('||'));//data1||data2||data3
-
堆栈方法(掌握)
后进先出
var arrayname = []; var count = arrayname.push('data1','data2');//末尾推入 console.log(count);//2 arrayname.push('data3'); var item = arrayname.pop();//末尾弹出 console.log(item);//'data3'
-
队列方法(掌握)
先进先出
var arrayname = []; arrayname.push('data1','data2');//末尾添加 var item = arrayname.shift();//前端弹出 console.log(item);//'data1'
-
反转数组项(还未掌握)
-
链接方法(还未掌握)
-
分片方法(掌握)
此方法不会影响原始数组
var arrayname = ['data1','data2','data3','data4','data5']; var arrayname1 = arratname.slice(2,4); console.log(arrayname1);//data3,data4
-
splice方法(未完全掌握)
此方法直接更改原始数组,有许多功能:
- 删除
- 插入
- 替换
-
5.语句
-
if…else语句
if (condition)//使用小写的if { //当条件为true时执行的代码 } else { //当条件不为true时执行的代码 }
-
switch语句
switch(n) { case 1 : //执行代码块1 break;//阻止代码自动向下一个case执行 case 2 : //执行代码块2 break; default: //匹配不存在时做的事情 }
-
for循环
for (代码块开始前执行的语句;循环的条件;代码块执行后的执行语句) { //代码块 }
-
while循环
while(条件) { //代码块 } while的变体 do { //代码块 } while(条件);
-
break和continue语句
- break用于跳出循环;
- continue中断当前的循环中的迭代,然后继续循环下一个迭代;
6.类
-
使用class关键字;
-
每个类包含一个构造函数,用于创建和初始化;
-
创建类:
class classname{ constructor(){...}//构造函数 }