js书写
1.行内式JS
<input type="button"value="点我试试"onc1ick="alert('Hello World')"/>
。可以将单行或少量jS代码写在HTML标签的事件属性中(以on开头的属性),如:onclick
·注意单双引号的使用:在HTML中我们推荐使用双引号,JS中我们推荐使用单引号
。可读性差,在html中编写S大量代码时,不方便阅读;
·引号易错,引号多层嵌套匹配时,非常容易弄混:
。特殊情况下使用
2.内嵌JS
<script>
alert ('Hello World~!');
</script>
可以将多行jS代码写到<script>标签中
内嵌jS是学习时常用的炳式
3.外部js
<script src="my.js"></script>
哈
。利于HTML页面代码结构化,把大段S代码独立到HTML页面之外,既美观,也方便文件级别的复用
·引用外部jS文件的script标签中间不可以写代码
。适合于jS代码量比较大的情况
输入输出
方法 | 说明 | 归属 |
---|---|---|
alert(msg) | 浏览器弹出警示框 | 浏览器 |
console.log(msg) | 浏览器控制台打印输出信息 | 浏览器 |
prompt(info) | 浏览器弹出输入框,用户可以输入 | 浏览器 |
关键字
var
let
const
数据类型
数字型Number
现阶段我们只需要记住,在js中八进制前面加0,十六进制前面加0x
isNaN()
用来判断一个变量是否为非数字的类型,返true或者false
转换为数字型
方式 | 说明 | 案例 |
---|---|---|
parselnt(string)函数 | 将string类型转成整数数值型 | parselnt(‘78’) |
parseFloat(string)函数 | 将string类型转成浮点数数值型 | parseFloat(‘78.21’) |
Number()强制转换函数 | 将string类型转换为数值型 | Number(‘12’) |
js隐式转换(- * /) | 利用算术运算隐式转换为数值型 | ‘12’-0 |
字符串型String
字符串拼接
多个字符串之间可以使用+进行拼接,其拼接方式为
字符串+任何类型=拼接之后的新字符串
拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串
我们经常会将字符串和变量来拼接,因为变量可以很方便地修改里面的值
拼接字符串concat
连接两个或多个数组不影响原数组
返回一个新的数组
等效于+,+更常用
转换为字符串
方式 | 说明 | 案例 |
---|---|---|
toString() | 转成字符串 | var num=1; alert(num.toString()); |
String()强制转换 | 转成字符串 | var num =1; alert(String(num)); |
加号拼接字符串 | 和字符串拼接的结果都是字符串 | var num=1; alert(num+“我是字符串”); |
替换字符
arr.replace('被替换的字符','替换为的字符');
字符转换为数组split(‘分隔符’)
转换大写/转换小写
toUpperCase()/toLowerCase()
Undefined和Null
一个声明后没有被赋值的变量会有一个默认值undefined(如果进行相连或者相加时,注意结果)
一个声明变量给null值,里面存的值为空(学习对象时,我们继续研究null
typeof 变量名 检测数据类型
Boolean
true和false
Boolean()函数
其他类型转成布尔值
Boolean('true');
js基础语法
略(和c/c++很像) 这里不做笔记
数组
利用new创建数组
var 数组名=new Array();
var arr1=new Array(2);
//这个2表示数组的长度为2里面有2个空的数组元素
var arr1=new Array(2,3);
//等价于[2,3]这样写表示里面有2个数组元素是2和3
利用数组字面量创建数组
//1.使用数组字面量方式创建空的数组
var 数组名=[];
//2.使用数组字面量方式创建带初始值的数组
var 数组名=['小白','小黑','大黄','瑞奇'];
数组长度
array.length;
检测数组
//instanceof运算符它可以用来检测是否为数组
var arr = [];
console.log(arr instanceof Array);
console.log(Array.isArray(obj));
添加数组元素
var arr=[1,2,3];
arr.push(4,'red');
push()在我们数组的末尾添加一个或者多个数组元素
arr.unshift('red',4);
unshift是可以给数组追加新的元素
删除数组元素
具体与上面 添加数组元素 相似
pop();
shift();
数组翻转
arr.reverse();
数组排序
arr.sort(function(a,b){
return a-b;//升序排列
//return b-a;//降序排列
});
获取数组索引
indexOf();
数组中查找给定元素的第一个索引
如果存在返回索引号如果不存在,则返回-1。
lastIndexof();
在数组中的最后一个的索引,
如果存在返回索引号如果不存在,则返回-1。
数组去重
unique(arr);
return 新数组;
数组转字符串
toString();
把数组转换成字符串,逗号分隔每一项
返回一个字符串
join('分隔符');
方法用于把数组中的所有元素转换为一个字符串。
返回一个字符串
slice()
数组截取slice(begin,end)
返回被截取项目的新数组
splice()
数组删除splice(第几个开始,要删除个数)
返回被删除项目的新数组注意,这个会影响原数组
1.splice()方法始终会返回一个数组,该数组中包含从原始数组中删除的项,如果没有删除任何项,那么将会返回一个空数组
1.第一个参数 表示起始位置
2.第二个参数 表示删除个数
3.其他参数 添加元素
substr(start,length)
从start位置开始(索引号),length取的个数重点记住这个
substring(start,end)值
从start位置升始,截取到end位置,end取不到基本和slice相同但是不接受负值
函数
声明
function xx(){
alert(1);
}
var xx=function(){
alert(1);
}
调用
xx();
传参
function xx(a){
alert(a);
}
返回值
return 值;
函数没有return 返回undefined
arguments伪数组的使用
当我们不确定有多少个参数传递的时候,可以用arguments来获取。在JavaScript中,arguments实际上是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。
对象
创建对象
利用对象字面量创建对象
var obj={};
var obj={
name:'王珂',
sex:'女',
sayHi:funtion(){
alert('hi!');
}
}
利用new Object创建对象
var obj=new Object();
obj.name:'王珂';
obj.sex:'';
obj.sayHi=funtion(){
alert('hi!');
}
构造函数创建对象
function Star(name,age,sex){
this.name= name;
this.age =age;
this.sex=sex;
}
var cxk=new Star('蔡徐坤',18,'女');
遍历对象
for (var k in obj){
console.1og(k);//k变量输出
得到的是属性名
console.1og(obj[k]);//obj[k]得到是属性值
}
内置对象
Math对象
Math.PI
//圆周率
Math.floor (
//向下取整
Math.ceil()
//向上取整
Math.round()
//四舍五入版就近取整
注意-3.5 结果是-3
Math.abs()
//绝对值
Math.max()/Math.min()//求最大和最小值
Math.random()
返回一个随机的小数0<=×<1
Date日期对象
var date = new Date();
console.log(date);
数字型
2019,10,01
或者是字符串型
'2019-10-1 8:8:8'
var datel new Date(2019,10,1);
conso1e.1og(date1);/返回的是11月不是10月
var date2 new Date('2019-10-1 8:8:8');I
console.log(date2);
日期格式化
方法名 | 说明 | 代码 |
---|---|---|
getFullYear() | 获取当年 | dObj.getFullYear() |
getMonth() | 获取当月(0-11) | dObj.getMonth() |
getDate() | 获取当天日期 | dObj.getDate() |
getDay() | 获取星期几(周日0到周六6) | dObj.getDay() |
getHours() | 获取当前小时 | dObj.getHours() |
getMinutes() | 获取当前分钟 | dObj.getMinutes() |
getSeconds() | 获取当前秒钟 | dObj.getSeconds() |
Date总的毫秒数(时间戳)
Date.now();返回的是当前时间总的毫秒数
+new Date();返回的是当前时间总的毫秒数
+new Date(time);返回的是用户输入时间总的毫秒数
简单数据类型传参传的是值
string ,number,boolean,undefined,null
复杂数据类型传参传的是地址
通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date等;