作者小头像 Lv.1
46 成长值

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

编程语言、大数据、数据库、微服务架构
个人勋章
TA还没获得勋章~
成长雷达
40
6
0
0
0

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

编程语言、大数据、数据库、微服务架构

达成规则

发布时间 2020/08/17 14:52:33 最后回复 Ananda 2020/08/28 12:02:20 版块 社区活动
15502 78 1
发布时间 2020/07/13 10:25:31 最后回复 blateyang 2020/08/20 23:20:02 版块 社区活动
32615 468 0
他的回复:
华为云ID:hw81229709 ## jQuery ### jQuery语法 + `"$"`是jQuery语法的标志 + 基础语法:`$(selector).action()` + + `"$"`符号定义 jQuery + + 选择符`(selector)`"查询"和"查找" HTML 元素 + + `action()` 执行对元素的操作 ### $(document).ready(function(){}) + 使用jQuery操作html元素时要在document加载完成之后再执行,否则可能查找不到目标元素导致语句无法正常执行。 + 简写:`$(function(){ }) ### get方法 + `$.get(url,data,callback,type)` + url是请求的接口地址 + data是请求的参数 + callback是请求成功时的回调函数 + type是请求返回数据的格式 + 除了url,其他三个参数如果没有可以省略 **注意事项:** + 请求参数的格式可以是json对象,也可以是字符串 + 返回的数据格式可以是:JSON、HTML、Script、XML、Text等 ### post方法 + `$.post(url,data,callback,type)` + url是请求的接口地址 + data是请求的参数 + callback是请求成功时的回调函数 + type是请求返回数据的格式 + 除了url,其他三个参数如果没有可以省略 **注意事项:** + post请求发出去的时候请求参数是放在请求体中的 --- ## 这里需要学习/思考一下具体的异步实现逻辑 ``` app.use(async function(ctx){ if(ctx.path == '/ajax'){ ctx.body = "var huawei = '华为云在线教育'" } }) ``` --- ### ajax方法 **ajax方法语法格式** + `$.ajax(option)` + `option`是JSON格式的配置参数,用于设置ajax请求 **(ajax语法的使用重点和难点就是对option参数的配置)** **常用配置** + url:发送请求的地址 + type:请求方式(get or post等) + data:请求参数 + dataType:返回的数据类型(json、html、xml等) + success:请求成功后的回调函数 + error:请求失败后的回调函数 + complete:请求完成后的回调函数(无论是否成功都会执行) **布尔类型的配置** + async:是否为异步请求 + cache:是否进行缓存(主要针对get请求) **容易被忽视的配置项** + timeout:请求超时时间(毫秒)
发布时间 2020/07/13 10:25:31 最后回复 blateyang 2020/08/20 23:20:02 版块 社区活动
32615 468 0
他的回复:
华为云ID:hw81229709 ## jQuery ### jQuery语法 + `"$"`是jQuery语法的标志 + 基础语法:`$(selector).action()` + + `"$"`符号定义 jQuery + + 选择符`(selector)`"查询"和"查找" HTML 元素 + + `action()` 执行对元素的操作 ### $(document).ready(function(){}) + 使用jQuery操作html元素时要在document加载完成之后再执行,否则可能查找不到目标元素导致语句无法正常执行。 + 简写:`$(function(){ }) ### get方法 + `$.get(url,data,callback,type)` + url是请求的接口地址 + data是请求的参数 + callback是请求成功时的回调函数 + type是请求返回数据的格式 + 除了url,其他三个参数如果没有可以省略 **注意事项:** + 请求参数的格式可以是json对象,也可以是字符串 + 返回的数据格式可以是:JSON、HTML、Script、XML、Text等 ### post方法 + `$.post(url,data,callback,type)` + url是请求的接口地址 + data是请求的参数 + callback是请求成功时的回调函数 + type是请求返回数据的格式 + 除了url,其他三个参数如果没有可以省略 **注意事项:** + post请求发出去的时候请求参数是放在请求体中的 --- ## 这里需要学习/思考一下具体的异步实现逻辑 ``` app.use(async function(ctx){ if(ctx.path == '/ajax'){ ctx.body = "var huawei = '华为云在线教育'" } }) ``` --- ### ajax方法 **ajax方法语法格式** + `$.ajax(option)` + `option`是JSON格式的配置参数,用于设置ajax请求 **(ajax语法的使用重点和难点就是对option参数的配置)** **常用配置** + url:发送请求的地址 + type:请求方式(get or post等) + data:请求参数 + dataType:返回的数据类型(json、html、xml等) + success:请求成功后的回调函数 + error:请求失败后的回调函数 + complete:请求完成后的回调函数(无论是否成功都会执行) **布尔类型的配置** + async:是否为异步请求 + cache:是否进行缓存(主要针对get请求) **容易被忽视的配置项** + timeout:请求超时时间(毫秒)
发布时间 2020/07/13 10:25:31 最后回复 blateyang 2020/08/20 23:20:02 版块 社区活动
32615 468 0
他的回复:
华为云ID:hw81229709 ## AJAX ### 创建XMLHttpRequest对象 + **创建XMLHttpRequest对象** variable = new XMLHttpRequest(); + **IE5\IE6需要创建ActiveXObject** variable = new ActiveXObject("Microsoft.XMLHTTP"); + 为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject : ``` var xmlhttp; if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码 xmlhttp=new XMLHttpRequest(); } else { // IE6, IE5 浏览器执行代码 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } ``` ### 向服务器发送请求 + 如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法: ``` xmlhttp.open("GET", "ajax_info.txt", true); xmlhttp.send(); ``` + open(method,url,async);规定请求的类型、URL 以及是否异步处理请求。 **method**:请求的类型;GET 或 POST **url**:文件在服务器上的位置 **async**:true(异步)或 false(同步) + send(string);将请求发送到服务器。 **string**:仅用于 POST 请求 ### POST 请求 + 如果需要像 HTML 表单那样 POST 数据,要使用 setRequestHeader() 来添加 HTTP 头。然后在 send() 方法中规定希望发送的数据: ``` xmlhttp.open("POST","/try/ajax/demo_post2.php",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send("fname=Henry&lname=Ford"); ``` + setRequestHeader(header,value) **header**: 规定头的名称 **value**: 规定头的值 ## Node.js ### koa框架 + koa是Node.js的下一代Web框架 + koa作为一个Node.js的框架,代码量非常少 + koa v1和koa v2 + 中间件 ##### koa脚手架 + 安装koa-generator `$ npm install koa-generator -g` `-g`表示全局安装 `$ cnpm install koa-generator -g` `cnpm`淘宝镜像,当上面的命令无法正常安装时,可以使用淘宝国内镜像安装 + koa项目的生成器 + koa2命令 ### 搭建Web服务器 1. 使用koa2命令创建web项目 ``` $ E: //进入e盘根目录 $ cd E:/learnNode/koa //进入新建好的文件夹 $ koa2 ajax //通过koa2创建名称为“ajax”的项目 $ cd ajax //打开ajax文件夹 $ cnpm install //安装依赖包 $ npm start //运行项目 ``` 2. 使用cnpm install安装依赖包 首先需要安装cnpm,安装方法,直接在命令行运行以下命令即可: `$ npm install -g cnpm --registry=https://registry.npm.taobao.org` 3. 使用npm start运行项目 项目运行之后,可以打开浏览器输入:http://localhost:3000/ 访问项目 ##### 项目文件夹 首先使用vs code打开ajax文件夹,可以看到以下文件目录: + **bin**整个项目启动的入口 + **node_modules**依赖包 + **public**静态资源(图片、js文件、css文件等) + **routes**路由 + **views**视图(相关页面) + **app.js**程序入口 + **package.json**配置文件
发布时间 2020/07/13 10:25:31 最后回复 blateyang 2020/08/20 23:20:02 版块 社区活动
32615 468 0
他的回复:
# 第二周笔记:数组和函数入门 ## 新增数组元素的方法 ### 通过修改length数值来增加数组元素 例: ``` var arr = [1, 2, 3]; arr.length = 5; console.log(arr);//(5)[1, 2, 3, empty × 2] ``` ### 通过修改索引号追加数组元素 例: ``` var arr = [4, 5, 6]; arr[3] = 7; console.log(arr);//(4)[4, 5, 6, 7] ``` ***注意:不要给数组名进行赋值操作,这会导致变量的数据类型改变,使数组元素丢失*** ### 冒泡排序 ``` var arr = [5, 4, 3, 2, 1]; for (i = 1; i arr.length; i++) { for (j = 0; j arr.length - i; j++) { if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; }; }; } console.log(arr); ``` ### 函数 函数使用分为两步:声明函数和调用函数 1. 声明函数: > function 函数名() { > 函数体 >} ``` function sayHi() { console.log('hi~~'); } ``` **注意事项** + function声明函数的关键字全部小写 + 函数是做某件事情,函数名一般使用动词,例如:sayHi + 函数未被调用的时候,自己不会执行 2. 调用函数 > 函数名(); ``` sayHi(); ``` **注意事项** + 通过调用函数名来执行函数体代码 + 调用的时候千万**不要忘记加小括号** ### 利用函数计算1-100之间的累加和 ``` function getSum(num1, num2) { var sum = 0; for (var i = num1; i = num2; i++){ sum += i; } console.log(sum); } getSum(1, 100) //5050 ``` ### js函数参数和python函数参数的区别 1. python调用函数的参数必须和形参数量相同,否则将报错(带有可变参数的情况除外) 2. js实参和形参的数量可以不同 |js参数个数|js说明| |---|---| |实参个数大于形参个数|只取到形参个数,多出来的实参被抛弃| |实参个数等于形参个数|正常运行| |实参个数小于形参个数|多出来的形参值为undefined| ### 函数的返回值 1. return返回一个结果 + return只能返回一个结果,当尝试返回多个结果时,return会返回最后一个结果 + return会中断函数执行后续的代码片段 2. 函数没有return语句时返回为undefined ### null和undefined的区别 做练习时发现一个题目中同时出现了null和undefined,为探索两者的不同特意去搜索了一下,结果如下: > undefined:表示一个变量最原始的状态,而非人为操作的结果 > null:表示一个对象被人为的重置为空对象,而非一个变量最原始的状态 #### undefined > 字面意思就是未定义的值,这个值的语义是,希望表示一个变量最原始的状态,而非人为操作的结果。这种原始状态会在以下 4 种场景中出现: 1. 声明了一个变量,但没有赋值 ``` 1 var foo; 2 console.log(foo); //undefined ``` >> 访问foo,返回了undefined,表示这个变量自从声明了以后,就从来没有使用过,也没有定义过任何有效的值,即处于一种原始而不可用的状态 2. 访问对象上不存在的属性 ``` 1 console.log(Object.foo); // undefined ``` >> 访问Object对象上的 foo 属性,同样也返回 undefined , 表示Object 上不存在或者没有定义名为 “foo” 的属性 3. 函数定义了形参,但没有传递实参 ``` 1 //函数定义了形参 a 2 function fn(a) { 3 console.log(a); //undefined 4 } 5 fn(); //未传递实参 ``` >> 函数 fn 定义了形参a, 但 fn 被调用时没有传递参数,因此,fn 运行时的参数 a 就是一个原始的、未被赋值的变量 4. 使用 void 对表达式求值 ``` 1 void 0 ; // undefined 2 void false; //undefined 3 void []; //undefined 4 void null; //undefined 5 void function fn(){} ; //undefined ``` >> ECMAScript 规范 void 操作符 对任何表达式求值都返回 undefined ,这个和函数执行操作后没有返回值的作用是一样的,JavaScript中的函数都有返回值,当没有 return 操作时,就默认返回一个原始的状态值,这个值就是undefined,表明函数的返回值未被定义。 *因此,undefined 一般都来自于某个表达式最原始的状态值,不是人为操作的结果。当然,你也可以手动给一个变量赋值 undefined,但这样做没有意义,因为一个变量不赋值就是 undefined* #### null > null 的字面意思是 空值 ,这个值的语义是,希望表示 一个对象被人为的重置为空对象,而非一个变量最原始的状态 。 在内存里的表示就是,栈中的变量没有指向堆中的内存对象,即: >> null 有属于自己的类型 Null,而不属于Object类型,typeof 之所以会判定为 Object 类型,是因为***JavaScript 数据类型在底层都是以二进制的形式表示的,二进制的前三位为 0 会被 typeof 判断为对象类型,而 null 的二进制位恰好都是 0 ,因此,null 被误判断为 Object 类型***
发布时间 2020/07/13 10:25:31 最后回复 blateyang 2020/08/20 23:20:02 版块 社区活动
32615 468 0
他的回复:
华为云ID:hw81229709        一些比较简单的知识点未做笔记,下面记录的是我觉得比较重要的几个知识点,其中对于逻辑中断的知识点及其程序运行逻辑着重分析了一下。第二章运算符重点1:前置递增和后置递增前置递增:++n先自增,后赋值后置递增:n++先赋值,后自增重点2:逻辑中断【当数值或表达式参与逻辑运算时】&&(与运算)短路逻辑:语法:表达式1 && 表达式2;如果第一个表达式的值为真,则返回表达式2如果第一个表达式的值为假,则返回表达式1执行逻辑:当表达式1为真的时候,继续执行表达式2,此时无论表达式2是真还是假都会返回表达式2的结果(因为此时表达式2为真时&&运算的结果为“真&&真”直接返回表达式2的结果。若表达式2为假时&&运算的结果为“真&&假”应该返回“假”。所以当表达式1为真时程序不会中断,会继续执行表达式2!!!)当表达式1为假的时候,由于&&运算只要有一个为假即结果为假,所以此时无需判断表达式2的真伪,直接返回表达式1。所以当表达式1为假时,程序会中断表达式2的执行!!!||(或运算)短路逻辑:语法:表达式1 || 表达式2;如果第一个表达式的值为真,则返回表达式1如果第一个表达式的值为假,则返回表达式2执行逻辑:当表达式1为真的时候,由于||运算只要有一个真即结果为真,所以此时无需判断表达式2的真伪,直接返回表达式1,此时程序会中断表达式2的执行!!!当表达式1为假的时候,程序会继续判断表达式2的真伪,并且无论表达式2是真还是假都会直接返回表达式2。(因为此时表达式2为真时,||运算结果为“假||真”应该返回表达式2;若表达式2为假,||运算结果为”假||假“也会返回表达式2。但是此种情况并不会中断表达式2的执行,当表达式1为假的时候表达式2是会继续执行的!!!)重点3:三元运算符:“? :”语法:条件表达式? 表达式1 : 表达式2如果条件表达式为真,则返回表达式1的值,否则返回表达式2的值。例:var num = 10;var result = num > 5 ? 'yes' : 'no'; //'yes'重点4:switch语句语法结构:switch(表达式) {case value1:执行语句1;break;case value2:执行语句2;break;...default:执行最后的语句;}注意事项:1、表达式的值和case的值必须是全等(===)关系才能匹配成功。2、当case匹配条件后没有break打断语句时,程序执行完对应的执行语句后会继续执行下一条case语句。