JavaScript学习笔记


JavaScript是一门世界上最流行的脚本语言
与java语言没有联系
需要精通

引入JavaScript:

1.在HTML中写

标签中写入JS代码
<script>
//提示框
alert("hwllo world");
</script>

在这里插入图片描述
2.外部引入
创建JS文件并引入

<script src="js/qj.js"></script>

标签必须成对出现,不可以用自闭和标签!!!

定义变量

变量类型都为 var 值可以为数字型、字符串等等所有java常见类型;

var num=1;
var string="songyi";

JS结尾可以不带分号,但是一般都带上规范一点。且严格区分大小写!!

流程控制

if,whlie,for与Java无区别

if(1<2){
alert("true");
}else{
alert("true");
}
//可嵌套

forEach循环遍历数组

let age = [1,13,4,24,541,12,46,463]
//函数
age.forEach(function(value){
	console.log(value)
	});

for in循环
输出的是数组的下标,而不是内容

for(var num in age){
	if(age.hasOwnProperty(num)){
	console.log("存在")
	console.log(age[num])
	}
}

for of循环

输出数组的值

支持Set和Map的输出

let arr = [1,2,3]
for(let x of arr){
	console.log(x)
}

控制台的使用

在如图选项中可以输入JS语句执行
在这里插入图片描述
常用的语句:

打印变量:

console.log(变量名)

断点
在这里插入图片描述

数据类型

数字,文本,图片,视频,音频
JS不区分小数和整数。

变量
变量名不能用数字开头

Number

123 //整数123
123.1 //浮点数
1.123e3//科学计数法
-99 //负数
NaN //not a number 不是数字
Infinity//表示无限大

字符串

'abc'
"abc"

注意转义字符 \n ` \t \u4e2d

多行字符串编写
使用`包裹

var string=`
	你好
	hello
	wow	
`

模板字符串

let name="songyi";
let msg=`你好!${name}`  //注意是`不是单引号

常用方法
.length 字符串长度
.toUpperCase() 转大写
.toLowerCase() 转小写
.indexof(“a”) 查询某字符在字符串的第几个位置出现返回值为数字
.substring(1,3) 从字符串的第二个字符到第三个字符截取出来(包含前边不包含后边)

布尔值

true
false

逻辑运算

&&|| 或
! 非

比较运算符

==  //等于,当类型不一样,但是值一样时,也会判断为ture
=== //绝对等于,类型一样,值一样才会判断为ture
tips:
NaN与所有的数值都不相等,包括自己。
通过isNaN(数据)判断这个值是不是NaN

浮点数问题:

避免使用浮点数

null和undefined

null 空
undefined 未定义

数组

JS中数组内对象类型可以不同

var a=[1,2,3,"abc",null,ture]

数组长度可变,当长度大于数组内容时,后边的值为空,即未定义
当长度赋值小于含有元素个数,多余的元素会丢失

array.length=2; 给数组array定义长度为2

.indexof(“a”) 通过元素获得下标

.slice(2,4) 截取数组的一部分,返回一个新的数组类似于字符串的 substring

.push(“a”,“b”) 在数组末尾添加新元素

.pop() 弹出数组末尾的元素

.unshift(“a”,“b”) 在数组头部添加元素

.shift("") 弹出数组头部元素

.sort() 排序

.revers 元素顺序翻转

.concat([1,2,3]) 拼接数组(并没有改变原数组,只是返回了一个新的数组)

对象

若干个键值对
属性间用逗号隔开,最后一个属性后不加逗号

//JAVA   Person person = new person(1,2,3,4,5);
var person{
name:"songyi",
age:20,
tags:['js','java','web']
}
//取出对象的值
person.name
person.age
person.tags[]

使用一个不存在的对象属性,不会报错,只会未定义

可以动态的删减和添加属性

删除
delete person.name //返回布尔值
添加
person.haha = "haha"

判断属性值是否在对象中
缺陷:父类所拥有的属性名他也能查询到

'age' in person
//继承
'toString' in person

判断属性是否是自身拥有的

person.hasOwnProperty("age")

Map和Set

ES6的新特性
Map

//Map集合
let map = new Map([['tom','10'],['jarry','90'],['songyi',100]]);
let name = map.get("songyi");//通过key获得value
//输出结果为100
map.set('admin',60);//添加或修改
map.delete('tom');

Set:无序不重复的集合

let set = new set([3,2,3,2,2,3,3]);//可以去重
//输出结果为[3,2]
set.add(2);//添加
set.delete(2);//删除
set.has(2);//判断set中是否有某个元素
//

iterator

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值