1.概述
JavaScript ,简称js,是一种高级的编程语言,主要用于前端开发。很多地方都会说js是解释型语言,轻量级,所以被用在前端。但其实这种说法并不准确。
这个世界上并没有绝对的解释型和编译型语言的存在,只是看在其工作的时候是用解释型的方式去执行它,还是编译型的方式去执行它。
现代的 web 浏览器都内置了 JavaScript 引擎。这个引擎负责以解释而不是编译的方式来执行 JavaScript 代码,所以让js在前端工作起来非常的轻量级。
2.引入方式
- 内部,在HTML页面上通过<script></script>标签来写。
- 外部,外部定义好的js文件可以通过<script src=”XXX.js”></script>来引入。
- 内联(不推荐),直接在HTML元素的属性标签里写js,例如:<button οnclick=”createParagraph()”></button>
3.调试
js不像java有编译过程的存在,js在浏览器中是被解释执行的,也就是说没有编译过程,没办法进行debug。只能通过console.log()方法来在控制台打印结果,进行调试。以chrome浏览器为例,按F12打开开发者工具,在console中执行下面一段代码:
会输出以下结果:
4.基础语法
4.1.变量
JS的变量有两种声明方式,var定义全局变量、let定义局部变量。
var name="DasAuto":
let age=25;
console.log("name:"+name+"t"+"age:"+age);
4.2.常量
const sex="男";
sex="女";
console.log(sex);
4.3.运算符
js和Java一样,支持
单目运算符:自加自减自乘自除
双目运算符:加减乘除
三目运算符:
var name="DasAuto";
let age=25;
age=age>=25?1:0;
console.log("name:"+name+"t"+ "age:" +age);
4.4.流程控制
4.4.1.顺序
这个就略过不表了吧,本篇文章的受众读者,应该都是有基础的。
4.4.2.判断
和JAVA一样,标准的if else/else if的格式。
var number=3;
if(number==1){
console.log("number is 1")}
else if(number==2){
console.log("number is 2");
}else{
console.log("number is 3");
}
4.4.3.循环
和JAVA一样,支持while、do-while、for,三种循环
while(true){
}
do{
}while(true);
for(let i=0;i<1;i++){console.log(i);
4.5.对象
JS的对象通过KV键值对的多元组来定义(“{ }”在JAVA中表示数组,在JS中表示元组),数组中可以嵌数组(对象中可以嵌对象)。可以通过对象.属性,访问属性,也可以通过访问数组下标的方式来访问属性,通过数组下标访问时k值为字符串类型。
4.6.数组
js的数组和Java的数组不同,js的数组不需要提前声明空间大小,每增加一个元素数组内部自动会开辟空间。
//两种定义方式
var a=new Array();
var b=[];
var c=[1,2,3];
a[o]=1;
b[0]=1;
console.log(a[o]);console.log(b[o]);console.log(c[o]);
//遍历数组
for(let i=0;i<c.length;i++){
console.log(c[i]);
}
//Js的数组具有栈的特点,可以进行压栈,出栈c.push[4];
c.pop;
4.7.函数
关键字 函数名(参数列表){
方法体
}
5.高级特性
除了基础语法外,js有一些高级特性在编程中我们可能会较为常用到。
1. 函数是第一类对象(First-Class Functions):
在 JavaScript 中,函数被视为第一类对象。这意味着函数可以被赋值给变量,可以作为参数传递给其他函数,也可以作为其他函数的返回值。
const add = function(a, b) { return a + b; };
2. 高阶函数(Higher-Order Functions):
高阶函数是能够接受函数作为参数或将函数作为返回值的函数。
function operate(num, operation) {
return operation(num);
}
const double = function(x) {
return x * 2;
};
const square = function(x) {
return x * x;
};
console.log(operate(5, double)); // 输出 10
console.log(operate(3, square)); // 输出 9
JavaScript 通过回调函数(callbacks)、Promise 和 async/await 等方式支持异步编程,处理诸如网络请求、文件读取等非阻塞 I/O 操作。
function fetchData(callback) {
setTimeout(function() {
const data = "Data fetched from server";
callback(data);
}, 2000);
}
function processData(data) {
console.log("Processing data: " + data);
}
fetchData(processData); // 两秒后输出 "Processing data: Data fetched from server"
4. Promise 和异步函数(Async/Await):
Promise 是一种用于处理异步操作的对象,async/await 是用于更简洁地处理异步代码的语法糖。
function fetchData() {
return new Promise(function(resolve, reject) {
setTimeout(function() {
const data = "Data fetched from server";
resolve(data);
}, 2000);
});
}
async function processData() {
const data = await fetchData();
console.log("Processing data: " + data);
}
processData(); // 两秒后输出 "Processing data: Data fetched from server"
原文地址:https://blog.csdn.net/Joker_ZJN/article/details/134066754
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_1787.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!