JavaScript基础

JavaScript入门

一、如何引入js文件

1、内部引入

<script type="text/javascript">
	//编写js代码
	...
</script>

2、外部引入

src属性中写引入的js文件

<script type="text/javascript" src="js/index.js"></script>

二、基本概念

1、变量

 	alert("我是一个弹窗");//弹窗
	var a=5;//变量初始化
	alert(typeof a);//typeof检验数值类型

	//字符串  'abc'或者"abc"单引号双引号都可以
	var name="hello";
	var en="world";
	alert(typeof name);

	//boolean 0(false) 1(true)
	var c=3<4;
	alert(c);//打印结果
		
	// undefined未定义
	var x;
	alert(x);

	//null 空值 属于空对象
	var y=null;
	alert(y);
	alert(typeof y);

2、 算数运算符

	var a=10;
	var b=4;
	//加、减、乘、除、取余
	var sum=a+b;
	var min=a-b;
	var mul=a*b;
	var exc=a/b;
	var sur=a%b;

	// 递增++;递减--
	var x=5;
	x--;
	alert(x);

3、逻辑运算符

	var chinese=45;
	var math=80;
	var english=90;
	// 逻辑与&&
	if(chinese>=60&&math>=60){
		console.log("你及格了");
	}else{
		console.log("你没有及格");
	}

	// 逻辑或||
	if(chinese>=60||english>=60){
		console.log("语言课还行");
	}else{
		console.log("你要加油了");
	}
	// 取反!
	var information=false;
	if(!information){
		console.log("用户信息登录了");
	}

4、数组

1.创建数组
	//创建方式1、字面量创建
	var arr=[1,2,3,4,5];
	//判断创建是数组是否成功
	if(Array.isArray(arr)){
		alert("是数组");
		console.log(arr);
		console.log(arr.length);
		console.log(arr[2]);
	}
	else{
		console.log("不是数组");
	}
	//创建方式2、js提供构造函数
	var arr2=new Array(1,2,3,4,5);
	arr2[2]="red";

2.数组转换成字符串的三种方式:toString()、toLocaleString()、join()
	var a=arr2.toString();
	var b=arr2.toLocaleString();
	var c=arr2.join("|");//将数组转换成字符串,并且分割字符串
	
	console.log(a);
	console.log(b);
	console.log(c);
	console.log(arr2);
	// console.log(arr2.length);
	// console.log(arr2[0]);
3. 数组的操作方法concat()、slice()、splice()
var fruit=Array("苹果","香蕉","梨子");
console.log(fruit);

1、合并数组concat() 添加新数据,原数组不变,输出返回值

	var newfruit=fruit.concat("西瓜");
	console.log(fruit);	
	console.log(newfruit);

2、删除数据slice(a,b) 保留a-b之间的数据(顾头不顾尾),原数组不变,输出返回值

	fruit=fruit.slice(1,2);
	console.log(fruit);

3、替换数据splice() 原数组发生变化,输出原数组

	// 删除(起始位置,终止位置)
	var newfruit=fruit.splice(0,1);
	console.log(newfruit);//删除的返回值
	console.log(fruit);//删除后的结果
	// 插入(起始位置,不删除,添加新数据)
	var newfruit=fruit.splice(1,0,"火龙果");
	console.log(newfruit);
	console.log(fruit);
	//替换(起始位置,替换个数,新数据)
	fruit.splice(1,2,"西瓜","葡萄");
	console.log(fruit);

5、选择语句

1)、if-else语句
 var weather="snow";
	 if(weather=="sunny") {
		console.log("今天是晴天");
	 }else if(weather=="snow") {
		console.log("今天会下雪");
	}else {
		console.log("天气未知");
		alert("天气输入有误");
	 }
2)、三目运算符
	var	result=1>3 ? "真的" :"假的";
	alert(result); //假的
3)、switch语句
switch(true){
	case score>=90:
		alert('优秀');
		break;
	...
	default:
		alert('不及格');
		break;
}

6、比较运算符

===(!===)==(!==)的区别
前者既比较内容也比较数据类型,后者只比较内容,不比较数据内容

	var a=5;//数字5
	var b="5";//字符串5
	var c=a===b;
	console.log(c); //false
	var d=a==b;
	console.log(d); //true

7、循环语句

1)、 for循环
//for (初始化条件;结束条件;递增条件)
	var sum=0;
	for(var i=1;i<=10000;i++){
		sum=sum+i;
	}
	alert(sum);
2)、while循环

while(true){
执行代码;
递增条件;
}

	var	sum=0;
	var i=0;
	while(i<=100){
		sum=sum+i;
		i++;
	}
	document.write(sum);

3)、do-while循环
do{
	sum=sum+i;
	i++;
}while(i<=100);
document.write(sum);

8、字符串方法

8.1字符串常用操作
	var str="hello world";
	
	console.log(str.length);//11 获取字符串长度
	console.log(str.charAt(1));//e 获取指定的字符
	console.log(str.charCodeAt(1));//101 获取指定的字符串对应的编码
	console.log(str.concat("你好","世界"));//拼接字符串 
	//通常情况下使用+来进行拼接
	console.log(str+"你好"+"世界");

strName.slice(start,end) 输出从start位置到end位置的(start-end)个值
如果这个参数是负数,-1 指倒数第一个元素

	console.log(str.slice(2,4)); //ll 
	console.log(str.substring(2,4)); //ll
	//从下标为2的元素开始输出共6个元素
	console.log(str.substr(2,6));//llo wo
8.2字符串转换

1、转换成整型

	var a=3.14
	console.log(parseInt(a));  //3

2、浮点型

	var b="151.2254";
	console.log(parseFloat(b));  //15.2254

3、出现字母等非数字符号,输出NaN

  var d="15454yy5.145"
console.log(Number(d));  //NaN

4、数转字符串

 //强制类型转换
	 var num=158.87;
	console.log(num.toString());
	console.log(String(num));
//隐式转换
	console.log(" "+num);
	console.log(num.toFixed(1));  //保留小数点后位数(四舍五入)

9、栈和队列

1、栈-lifo(后进先出)原则 push()/pop()方法
	var a=color.push("pink");	//.push()方法:往数组的最后一项添加新数据
	console.log(a);		//.push()返回的是数组的长度
	console.log(color);

	var b=color.pop();	//.pop()方法:删除数组中最后一个数据
	console.log(b); 		//.pop()返回的是删除数据的内容
	console.log(color);
2、队列FIFO(先进先出)原则 unshift() / shift()方法
	var c=color.unshift("yellow");	//unshift()方法:往数组的第一项前添加新数据
	console.log(c);		//unshift返回的是数组的长度;
	console.log(color);

	var d=color.shift();	//.unshift()方法:删除数组的第一项数据
	console.log(d);		//.shift返回的是数组中删除项的内容;
	console.log(color); 

10、排序 sort()方法

1.默认按照ASCII码排序
var arr=Array(5,2,10,3,24,0);
arr.sort();
console.log(arr);

  1. 升序
function compare1(a,b){
	return a-b; 
}
arr.sort(compare1);
console.log(arr);

3.降序

function compare2(a,b){
	return b-a; 
}
arr.sort(compare2);
console.log(arr);

11、查找位置 indexOf()、 lastIndexOf() 查不到结果返回-1

1.正序寻找

    var names=Array("张三","李四","王五","赵六","李四","钱多");
    var name1=names.indexOf("李四");//1
    console.log(name1);
    var name2=names.indexOf("李四",2);//4
    console.log(name2);

2.倒序寻找

	var name3=names.lastIndexOf("李四");//4
	console.log(name3);
	var name4=names.lastIndexOf("李四",2);//1
	console.log(name4);

3.查不到结果返回-1

	var name5=names.lastIndexOf("赵六",2);
 	console.log(name5);//-1

12、迭代方法 filter()、forEach()、map()方法

1、filter()

filter()将数组的元素进行过滤 新数组只包含返回true的值,原数组保持不变

var nums=Array(1,3,5,7,9,20,19,4);
var numsResult=nums.filter(function(item,index,array){
	console.log("item:"+item);
	console.log("index:"+index);
	console.log("array:"+array);
	return item>10;
});
console.log("numsResult:"+numsResult);
2、map()

map()方法 映射 返回一个新数组,原数组不变

var mapResult=nums.map(function(item,index,array){
		return item*2;
	});
	console.log(mapResult);
2.1、map 方法的应用
var people=Array({name:"张三",age:"18"},{name:"李四",age:"24"},{name:"王五",age:"31"});
var peopleNames=people.map(function(item,index,array){
	return item.name;
});
console.log(peopleNames);
var peopleages=people.map(function(item,index,array){
	return item.age;
});
console.log(peopleages);
3、 forEach()

forEach()方法:遍历操作

var foreachResult=mapResult.forEach(function(item,index,array ){
	console.log(item);
});

13、时间Date方法

var now=new Date();

console.log(now.getDate()); //获取月份的第几天(1-31)
console.log(now.getMonth());//获取月份(0-11)
console.log(now.getFullYear());//获取年份
console.log(now.getDay());//获取一星期中的第几天(0-6)
console.log(now.getHours());//获取小时(0-23)
console.log(now.getMinutes());//获取分钟(0-59)
console.log(now.getSeconds());//获取秒(0-59)

//日期格式化方法
console.log(now.toDateString()); //星期几 月 日 年
console.log(now.toTimeString());// 时 分 秒 时区
// 常用
console.log(now.toLocaleDateString());//2019/7/15
console.log(now.toLocaleTimeString());//下午5:50:30
console.log(now.toLocaleString());//2019/7/15 下午5:50:30

console.log(now.toUTCString());//Mon, 15 Jul 2019 09:50:30 GMT

14、globle对象

1、 编码

		 var uri="http://www.baidu.com .html.jj?name=:张三";
		console.log(encodeURI(uri)); //识别空格转换成%20
		console.log(encodeURIComponent(uri));//识别其他符号:---%3A

2、 解码 decodeURI 、decodeURIComponent

15、Math对象

1、获取最大、最小值使用 min() 、max()方法

console.log(Math.min(1,54,2,78,0));  //0
console.log(Math.max(1,54,2,78,0));  //78

2、求数组中的最大最小值

var a=[12,5,2,7,89,75,0,34];
console.log(Math.max.apply(null,a));

3、ceil() floor() round()

var num=24.124;
console.log(Math.ceil(num)); //25  有小数点进位
console.log(Math.floor(num));//24  保留整数部分
console.log(Math.round(num)); //24  标准的四舍五入

4、获取随机数 random() 取值范围0<=random<1

console.log(Math.random(num));
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript是一种广泛使用的脚本语言,主要用于网页开发,为网页提供动态交互功能。它是浏览器端的主要执行环境,支持客户端和服务器端编程。以下是一些JavaScript基础概念: 1. **变量**:在JavaScript中,不需要预先声明就可以使用变量。可以直接赋值给变量名。例如: ```javascript let name = "John Doe"; ``` 2. **数据类型**:主要有字符串(String)、数值(Number,包括整数和浮点数)、布尔(Boolean)、null、undefined、数组(Array)和对象(Object)。例如: ```javascript var num = 5; var str = "Hello, World!"; ``` 3. **运算符**:有算术运算符、比较运算符、逻辑运算符等。例如加法 `+` 和等于 `==`: ```javascript var sum = 1 + 2; // sum is now 3 if (num == 5) { /* ... */ } ``` 4. **控制结构**:包括条件语句(if...else)、循环(for, while, do...while),如: ```javascript if (condition) { // code to execute if condition is true } else { // alternative code } for (let i = 0; i < 5; i++) { console.log(i); } ``` 5. **函数**:用于封装可重用的代码块。基本形式如下: ```javascript function greet(name) { return "Hello, " + name + "!"; } ``` 6. **DOM操作**:JavaScript可以操作HTML文档,如获取元素、修改样式、添加或删除节点等。 7. **异步编程**:JavaScript采用事件驱动模型,常用回调函数、Promise和async/await处理异步操作。 要深入了解JavaScript,你可以学习语法、DOM操作、网络请求、模块化、ES6及以上版本的新特性和现代前端框架如React或Vue.js。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值