1.手写简易Ajax//Ajax - GET请求 const xhr = new XMLHttpRequest(); // true 为异步,false为同步 xhr.open('GET', 'URL', false) xhr.onreadystatechange = () => { if (xhr.readyState === 4) { if (xhr.status === 200) { console.log(xhr.response); } } } xhr.send(null) //Ajax - POST请求 const post = new XMLHttpRequest(); // true 为异步,false为同步 post.open('POST', 'URL', true); post.onreadystatechange = () => { if (xhr.readyState === 4) { if (xhr.status === 200) {
1.事件绑定// 事件绑定 const node = document.getElementById("btn"); node.addEventListener("click", function () { console.log("click"); }, false); //通用事件绑定函数 function addEvent(node, type, handler) { node.addEventListener(type, handler, false); } addEvent(node, "click", function () { event.preventDefault(); //阻止默认事件 console.log("clicked"); })2.事件冒泡事件冒泡:从事件源朝父级一直到根元素(HTML)。当某个元素的某类型事件被触发时,那么它的父元素同类型的事件也会被触发,一直触发到根源上;从具体的元素到不确定的元素。终止事件冒泡:在相
JS基础知识,规定语法(ECMA 262标准);JS-Web-API,网页操作的API(W3C标准)前者是后者的基础一、DOM文档对象模型 (DOM):Document Object Model 1.DOM的本质 DOM是由HTML文件解析出来的一棵树。2.DOM的节点操作//1.获取节点 document.getElementById("id"); //获取id为id的节点 返回节点对象 document.getElementsByTagName("tag"); //获取tag为tag的节点 返回节点集合 document.getElementsByClassName("class"); //获取class为class的节点 返回节点集合 document.querySelector("css选择器"); //获取css选择器为css选择器的节点 返回节点对象 document.querySelectorAll("css选择器")
class test { private int:number = 0; private double:number = 0; public getInt():number { return this.int; } public setInt(value:number):void { this.int = value; } public getDouble():number { return this.double; } public setDouble(value:number):void { this.double = value; } }比如这里有两个私有属性并提供get/set方法,和直接设置public有什么区别?如果仅仅是图中的例子,那么你说的这两种方式是没什么区别的。外部调用的结果都可以对属性进行读取与修改。但是这个例子只是展示了一个常规的私有属性与 get/set 方法的使用模式,仅仅从这个例子中看不出来这个模式有
命名使用 PascalCase 为类型、枚举类型命名使用 UPPER_CASE 为常量和枚举值命名使用 camelCase 为函数命名使用 camelCase 为属性或本地变量命名不要为私有属性名添加_前缀,如果某些属性你不想任何人访问它,可以添加$前缀尽可能使用完整的单词拼写命名函数名采用 动词 或 动词+名词 的方式start()startLevel(level: number)使用有意义的变量命名正确示范clickCallback tempValue错误示范 func a b类型不要使用 namespace 使用 ES Module不要导出类型/函数,除非你要在不同的组件中共享它在一个文件里,类型定义应该出现在顶部尽量使用 **undefined**,而不是 null组件1个文件对应一个逻辑组件 (比如:资源类型,资源加载器)gen目录下的文件是自动生成的,不要手动改它。一般假设假设外部不需要修改的成员,需要添加 readonly 修饰假设外部不需要访问的成员,应添加 private 或 protected 修饰假设不会变的对象,应声明为Readonly<T>注释为类
Gonwe
心同流水净,身与白云轻