华清远见-重庆中心-JAVA前端JavaScript阶段技术总结

JavaScript

JavaScript通常简称为JS,由网景(NetScape)公司推出。

是一门面向对象、轻量级、弱类型的解释型脚本语言。

弱类型:没有数据类型的限制,变量甚至可以不同定义就能使用。

解释型:无需编译,通过解释器解释运行。浏览器就是一个JS解释器。

script脚本:按指令顺序执行。

JS的作用

HTML用于定义页面中的内容

CSS用于控制HTML元素的外观和样式

JS用来操作HTML元素

HTML+CSS+JS组成前端基本三要素。

  • 可以在页面中控制任意元素
  • 可以在页面中动态嵌入元素
  • 可以操作浏览器
  • 可以与用户进行数据交互
  • 。。。

JS写在哪里

1.写在某个标签的某个事件中

事件如鼠标单击onclick,鼠标移入onmouseenter等

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body >

        <!-- 通过提示框输出alert("输出内容") -->
        <button onclick="alert('Hello JS!')">点击1</button>
        <!-- 通过控制台输出console.log("输出内容") -->
        <button onclick="console.log('Hello JS!')">点击2</button>
        <!-- 通过新页面输出document.write("输出内容") -->
        <button onclick="document.write('Hello JS!')">点击3</button>
    </body>
</html>

2.写在<script>标签中

该标签是一个双标签,可以放在页面的任何位置,通常放在head标签中或body标签结束之前

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<!-- 可以将js代码写在这里 -->
		<script>
        	//js代码
        </script>
	</head>
	<body >
	
		
		<!-- 建议将js代码写在这里 -->
		<script >
        	//js代码
        </script>
	</body>
	
</html>

3.写到一个独立的.js文件中,再通过script标签导入

JS中的输出语句

1.弹警告框

alert(字符串或变量);

2.控制台输出

console.log(字符串或变量);

3.打印在新页面中

document.write(字符串或变量);

JS中的注释

//单行注释
/*
	多行注释
*/

JS的组成

1.ECMAScript

简称为ES,是JS的标准,也是JS的核心语法。

包含了数据类型、定义变量、流程控制语句等语法内容。

2.BOM

浏览器对象模型

3.DOM

文档对象模型

ECMAScript核心语法

数据类型

原始类型

JS中的原始类型说明
数值型number整数、小数都称为数值型
字符串string用单引号或双引号引起来的都是字符串
布尔型booleantrue/false
未定义undefined当某个变量没有声明或没有值时
空null某个引用类型变量通过null设置为空

引用类型

如对象、数组、函数等都是引用类型

定义变量

var/let 变量名;
var name;
var age;
let sex;

标识符的命名规则

  • 由字母、数字、下划线和$符号组成
  • 不能以数字开头
  • 不能使用js中的关键字

变量的初始化

var name;
name = "Tom";
var age = 22;
//可以不用var定义,但不建议
sex = "男";
//都可以正常输出
console.log("name:" + name + ",age:" + age + ",sex:" + sex);

运算符

js中的boolean类型,0可以表示false,非0可以表示true。

默认true为1,所以可以用true或false当做数字来运算。

  • 算术

    + - * / %
    
    + 两端如果有一端是字符串,作为拼接使用。
    + 两端如果都是数值,作为相加使用。
    
    除+外,其余符号都可以计算字符串。
    
    
  • 关系

    > < >= <= 
    用法同java,结果为boolean
    ==
    比较值是否相同,不比较数据类型,如"123"==123结果为true
    ===
    比较值和数据类型是否相同,如"123"===123结果为false
    !=
    比较值是否不同,如"123"!=123结果为false
    !==
    比较值和数据类型是否不同,如"123"!==123结果为true
    
  • 逻辑

    && || !
    用法同java
    
  • 赋值和复合赋值

    = += -= *= /= %=
    
    a*=b+c相当于a=a*(b+c)
    符号两端当做整体运算后赋值给符号左侧变量
    
  • 自增自减

    ++ --
    符号在前,先+1或-1后使用
    符号在后,先使用后+1或-1
    
    如果独立成行,都为+1或-1
    var i=10;
    var res=i-- - --i;
    //res为10-8=2,i最终为8
    
    
  • 条件

    表达式1?表达式2:表达式3
    判断表达式1,结果为true执行表达式2,结果为false执行表达式3
    

条件语句

if语句

js中的if语句条件可以是boolean值也可以是一个数字(0false,非0true)

//单分支
if(){
   
}
//双分支
if(){
   
}else{
    
}
//多分支
if(){

}else if(){

}
//嵌套
if(){
   if(){}
}

多分支if语句,如果有一个条件满足则不再判断后续的条件,所以将范围最小的情况写在最前

switch语句

//可以是任意类型
var op;
switch(op){
    case "a":
        break;
    case 123:
        break;
    case true:
        break;
    default:    
}

与java中不同的是,小括号中没有数据类型的限制,不同的case后也可以写不同类型的数据。

没有break,会继续执行后续case后的内容,直到break或没有代码,如果没有任何case满足,执行default。

循环

while

while(循环条件){
    循环体;
}

先判断后执行,有可能一次都不执行。

do-while

do{
    循环体;
}while(循环条件);

先执行一次,再判断,至少执行一次。

for

for(定义循环变量;判断循环条件;更新循环变量){
    循环体
}

continue和break

continue停止本次循环,执行下一次循环。

break停止所有循环。

JS中的本地对象

数组Array

JS中的数组类似于Java中的ArrayList,

可以保存不同类型的数据,数组大小可变。

定义数组
var 数组名 = new Array();
var 数组名 = [];
数组使用
//定义数组
// 1.默认没有给某个位置赋值时,是undefined
// 2.最大下标决定了数组长度   
// 3.可以保存不同类型的数据
var list1 = new Array();
list1[0] = 123;
list1[3] = "hello";
list1[10] = true;

console.log(list1[3]);
数组遍历
// length属性可以获取数组长度
// 循环所有下标,没有赋值元素的输出undefined
for (var i = 0; i < list1.length; i++) {
    console.log(list1[i]);
}

// 增强for循环,获取保存了数据的下标
for(var index in list1){
    // 通过下标获取元素
    console.log(list1[index]);
}
数组初始化
var 数组名 = new Array(元素1,元素2...);
var 数组名 = [元素1,元素2...];
常用方法
方法名作用返回值
sort()将数组中的元素进行升序排序排序后的数组
reverse()将数组中的元素倒序保存倒序后的数组
pop()移除数组中的最后一个元素被移除的元素
push(元素)添加元素到数组末尾最新的数组长度
shift()移除数组中的第一个元素被移除的元素
unshift(元素)添加元素到数组开头最新的数组长度
fill(元素)使用指定元素填充数组填充后的数组
splice(index)从指定索引开始分割数组,方法调用后,数组为剩余元素的数组截取到的元素集合
splice(index,length)从指定索引开始截取指定长度的数组,方法调用后,数组为剩余元素的数组截取到的元素集合
以上方法在调用后,都会影响原数组
方法名作用返回值
indexOf(元素)得到某个元素第一次出现的索引索引
lastIndexOf(元素)得到某个元素最后一次出现的索引索引
concat(元素)将指定元素添加到元素数组末尾添加元素后的数组
join(字符)使用指定符号将数组元素拼接为一个字符串拼接后的字符串
slice(start,end)截取指定[start,end)区间内的元素截取后的数组
slice(index)截取从index开始至末尾的元素截取后的数组
map(方法名)让数组中的元素都执行指定方法执行方法后的新数组
以上方法在调用后,都不会影响原数组

日期Date

创建Date对象
var now = new Date();
常用方法
// 获取当前日期时间
var now = new Date();

// 年
document.write(now.getFullYear()+"<br>");
// 0-11表示1-12月
document.write(now.getMonth()+"<br>");
// 日期
document.write(now.getDate()+"<br>");
// 一周中的第几天 0-6表示周天到周六
document.write(now.getDay()+"<br>");
document.write(now.getHours()+"<br>");
document.write(now.getMinutes()+"<br>");
document.write(now.getSeconds()+"<br>");
// 获取从1970/1/1起经过的毫秒数
document.write(now.getTime()+"<br>");
//以上方法都有对应的set方法用于设置指定值

// 获取日期时间字符串
document.write(now.toString()+"<br>");
// 获取日期部分字符串
document.write(now.toDateString()+"<br>");
// 获取时间部分字符串
document.write(now.toTimeString()+"<br>");
// 以当前环境输出日期时间字符串
document.write(now.toLocaleString()+"<br>");
// 以当前环境输出日期字符串
document.write(now.toLocaleDateString()+"<br>");
// 以当前环境输出时间字符串
document.write(now.toLocaleTimeString()+"<br>");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值