javaScript简单编程
学习js推荐阮一峰老师的网络电子书,js不是经过系统设计和各领域广泛使用的语言,而是随着浏览器应用开发在实践中流行起来的,主要运行在浏览器端,操作dom对象。在浏览器端,有很多对象,比如window, document, console等,XMLHttpRequest也是一个很基础,很常用的对象,用于网络通信,虽然现在很多库都封装的很好用了,但是底层不变!
var postData = { "username": "13321503898", "password": "a123456", "imsi":"123455677" }; var xhr = new XMLHttpRequest(); xhr.open("POST", "http://139.199.156.43:9999/LK/login/loginByUsername", true); xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xhr.onreadystatechange = function(){ var XMLHttpReq = xhr; /** XMLHttpReq.readyState 0: 请求未初始化 1: 服务器连接已建立 2: 请求已接收 3: 请求处理中 4: 请求已完成,且响应已就绪,两次判断,确实很难用
动作:open,send **/ if (xhr.readyState == 4) { if (xhr.status == 200) { var data =xhr.responseText; alert(data) console.log(data); var json = JSON.parse(JSON.parse(data)); }else{
// 发生错误 console.log("error:",xhr);
} } };
// 真正发起请求,有点啰嗦 xhr.send(JSON.stringify(postData));
js中没有提供java中那么强大的collection类,但是其自身的数组还是很强大的,比如:
//4.将多维数组转化为一维数组
//这里有两个return语句,也就说明这里至少有两个函数。
let arr7 = [[0,1],[2,3],[4,[5,6,7]]] const newArr3 = function(arr){ return arr.reduce((pre,cur)=>{ return pre.concat(Array.isArray(cur)? newArr3(cur): cur) },[]) } console.log(newArr3(arr7));
还有很多js特性,其设计有历史原因。学习js的方法,更多的是看别人代码,从中模仿学习。
1 2 3 | js的计算属性 var name= 'nickName' ; var obj{[name]: 'liyong' }; |
js中的Promise这个对象,使用与异步执行任务的。
我们都知道js语法是非常灵活的,比如装饰器,使用装饰器,我们很容易给既有类添加新的方法。装饰器是什么东西呢?可以理解为一个以被修饰对象为参数的方法,
nodejs中的js代码不总是能在浏览器端执行,因为没有相关的库,比如下面代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html> <header> </header> <body> <h1> this is header</h1> <script> // 浏览器报没有reuire var events = require( "events" ); var event = new events.EventEmitter(); event.on( 'someEvent' , function (arg1, arg2) { console.log( 'listener2' , arg1, arg2); }); event.emit( 'someEvent' , 'arg1 参数' , 'arg2 参数' ); </script> </body> |
自己写了es6代码,然后使用node命令执行,但是报错,查阅了很多博文,没有答案。后来看到博文说:ES6的模块化代码无法在Node.js中执行。
但是nodejs -v14及以上版本就可以,需要升级nodejs版本
这就涉及到es5和es6的差别。
参考博客:https://es6.ruanyifeng.com
日进有功
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义