JavaScript基础
目录
1. 打印及基础
2. 数据类型
3. 运算符
4. 数据类型转换
5. 流程控制语句
6. 常见内置对象
7. 函数的结构
8. 伪数组 arguments
一. 打印及基础
alert(" ")弹出警告框
console.log(" ") 控制台输出
prompt() 弹出能够让用户输入的对话框 ps:必须用一个变量接受值
定义变量使用var 关键字
变量里能存数字和字符串,变量会自动根据存储内容的类型来决定自己的类型
typeof() 表示获取变量的类型
语法:typeof 变量
parseInt() 可以将字符串转换成数字
parseInt两特性:1 自动保留字符串开头的数字
2. 自动带有截断小数的功能 取整,不做四舍不入
二. 数据类型
1.基本数据类型
number string boolean(false true) null 空对象 undefined 表示变量未定义
2. 引用数据类型
Funcation Object Array String Date
三. 运算符
1.赋值运算符
= 等于
+= 加等于
-= 减等于
*= 乘等于
/= 除等于
%=取余
2. 算数云算法
+
-
*
/
%
++ 自增
a=5
x = a ++ 先赋值后计算
x = ++ a 先计算后赋值
-- 自减 跟自增一个原理
3.比较运算符返回值true或者false
== 等于
=== 值和类型均相等返回true
!= 不等于
!== 不等于值和类型有一个不相等或两个都不相等
> 大于
< 小于
>= 大于等于
<= 小于等于
4.特殊情况
+ 加号能实现字符串拼接
四. 数据类型转换
1.将数值类型转换成字符串 类型
隐式转换 + 转数字 如果是减号那么得到的结果是number类型
var n1 =123;
var n2= '123';
var n3 = n1 + n2;
console.log(typeof n3);
强制转换成字符串
var n1=123;
var str1 = String(n1);
console.log(typeof str1);
var num=234;
var newNum = num.toString();
console.log(typeof newNum);
2.将字符串转换成数值类型
var stringNum = '3.1415sunny';
var num2 = Number(stringNum);
console.log(num2);
console.log(typeof num2);
// parseInt()可以解析一个字符串 并且返回一个整数
console.log(parseInt(stringNum));
console.log(parseFloat(stringNum));
3.任何数据类型都可以转换成boolean
var b1 = '123';
var b2 = 0;
var b3 = -123
var b4 = Infinity;
var b5 = NaN;
var b6; //undefined
var b7 = null;
// 非0既真
console.log(Boolean(b7))
五. 流程控制语句
1 . if、 else if 、 else
语法:
if (true) { //执行操作 }else if(true){ //满足条件执行 }else if(true){ //满足条件执行 }else{ //满足条件执行 }
例子:
var choice = prompt("what's the weather like? ");
if (choice == "sunny") {
console.log("should play outside")
}
else if (choice == 'rainny') {
console.log("stay at home")
}
else if (choice == "snowy") {
console.log("make snow baby")
}
else {
console.log("do what you want")
}
2.逻辑与&& 逻辑或||
//逻辑与&& 两个条件都成立的时候 才成立 if(sum>400 && math>90){ console.log('清华大学录入成功') }else{ alert('高考失利') }
//逻辑或 只有有一个条件成立的时候 才成立 if(sum>500 || english>85){ alert('被复旦大学录入') }else{ alert('高考又失利了') }
3. switch
//case表示一个条件 满足这个条件就会走进来 遇到break跳出。如果某个条件中不写 break,
那么直到该程序遇到下一个break停止
var gamescore = 'better';
switch (gamescore) {
case 'good':
console.log('玩的很好');
break;
case 'better':
console.log("非常好");
break;
case 'best':
console.log("恭喜,成功");
break;
default:
console.log('很遗憾')
}
4.while循环
循环三步走:
1.初始化循环变量
2.判断循环条件
3.更新循环变量
var i = 1; //初始化循环变量
while(i<=9){ //判断循环条件 console.log(i); i = i+1; //更新循环条件 }
5.do while
//不管有没有满足while中的条件do里面的代码都会走一次 var i = 3;//初始化循环变量 do{ console.log(i) i++;//更新循环条件 }while (i<10) //判断循环条件
6.for 循环
for(var i = 1初始变量;i<=10条件;i++递增){ console.log(i) }
例子:打印基数
for(var i = 1;i<=100;i++){ if(i%2==0){ //是偶数 console.log(i) } }
1~100之间的和
var sum = 0; for(var j = 1;j<=100;j++){ sum = sum+j } console.log(sum)
六. 常用内置对象
数组
1. 数组的创建方式
字面量方式创建
var colors = ['red','color','yellow'];
使用构造函数创建
var colors2 = new Array();
2.数组的赋值
var arr = []; //通过下标进行一一赋值 arr[0] = 123; arr[1] = '哈哈哈'; arr[2] = '嘿嘿嘿'
3.数组的常用方法
concat()数组的合并
var north = ['北京','山东','天津'];
var south = ['东莞','深圳','上海'];
var newCity = north.concat(south);
console.log(newCity)
join()将元组中的元素使用指定的字符串连接起来形成一个新的字符串
var score = [98,78,76,100,0];
var str = score.join('|');
console.log(str);//98|78|76|100|0
toString() 将数组转换成字符串
var score = [98,78,76,100,0]; //toString() 直接转换为字符串 每个元素之间使用逗号隔开 var str = score.toString(); console.log(str);//98,78,76,100,0
slice(start,end) 返回数组的一段,左闭右开
var arr = ['张三','李四','王文','赵六']; var newArr = arr.slice(1,3); console.log(newArr);//["李四", "王文"]
pop()删除数组中最后一个元素并返回删除的元素
var arr = ['张三','李四','王文','赵六']; var item = arr.pop(); console.log(arr);//["张三", "李四","王文"]
console.log(item);//赵六
push()想数组末尾添加一个元素或多个元素,并返回新的长度
var arr = ['张三','李四','王文','赵六']; var newLength= arr.push('小马哥');//可以添加多个,以逗号隔开 console.log(newLength);//5
console.log(arr);//["张三", "李四","王文","赵六","小马哥"]
reverse()翻转数组
var names = ['alex','xiaoma','tanhuang','angle']; //4.反转数组 names.reverse(); console.log(names);
sort() 对数组进行排序
var names = ['alex','xiaoma','tanhuang','abngel']; names.sort(); console.log(names);// ["alex", "angle", "tanhuang", "xiaoma"]
isArray() 判断是否为数组
shift() 删除并返回数组的第一个元素
unshift() 向数组的开头添加一个或更多元素,并返回新的长度
4.字符串String
charAt() 返回指定索引位置的字符
concat() 返回字符串值,表示两个或多个字符串拼接
replace(a,b) 将字符串a替换成b
indexof() 查找字符串的下标,找到返回下标,找不到返回-1
slice(start,end)提取字符串的一部分,左闭右开现象
split('a',1) 以什么为分割,并返回几个数组,默认返回一个
substr(start,length) 返回一个字符串从指定的位置开始到结束的长度
toLowercase()转小写
toUppercase() 转大写
substring(indexStart,indexEnd) 提取字符串中介于两个指定下标之间的字符。返回的子串包括 开始 处的字符,但不包括 结束 处的字符
trim()去除字符串两边的空白
5.Date日期对象
//创建了一个date对象 var myDate = new Date();
6.math内置对象
Math.ceil() 向上取整,'天花板函数'
Math.floor 向下取整,'地板函数'
Math.max() Math.min() 求两个数的最大值和最小值
Math.random() 随机数
七.函数funcation
函数:就是将一些语句进行封装,然后通过调用的形式,执行这些语句
//定义函数:
function sayHello(){
console.log("hello");
console.log("hello world");
}
sayHello(); //调用函数
八.argument 伪数组
arguments代表的是实参。有个讲究的地方是:arguments只在函数中使用
1.返回实参的个数:arguments.lenth
fn(2,4); fn(2,4,6); fn(2,4,6,8); function fn(a,b,c) { console.log(arguments); console.log(fn.length); //获取形参的个数 console.log(arguments.length); //获取实参的个数 console.log("----------------"); }
2.伪数组可以修改元素,但不可以修改长度
fn(2,4); fn(2,4,6); fn(2,4,6,8); function fn(a,b) { arguments[0] = 99; //将实参的第一个数改为99 arguments.push(8); //此方法不通过,因为无法增加元素 }
清空数组的几种方法:
var array = [1,2,3,4,5,6];
array.splice(0); //方式1:删除数组中所有项目
array.length = 0; //方式1:length属性可以赋值,在其它语言中length是只读
array = []; //方式3:推荐
参考博客:https://www.cnblogs.com/majj/category/1223635.html 大部分是直接拷贝来的为了以后找资料方便