
JavaScript笔记
thePLJ
坚持成长,坚持变更好
展开
-
20210928-JavaScript-原型对象prototype
类,即构造函数,可以生成同一类的对象。JavaScript如果在类里面添加方法,每次创建对象时都会新建一个该方法,非常占用空间;但如果在类外面的全局内创建,则可能会导致不安全,非私有。该问题可以通过原型对象prototype解决。通过prototype创建的函数,每次通过类新建对象时,prototype内的函数不会重新创建。prototype内创建的对象属于该类的公共属性,通过该类创建的对象都可以访问。/* * 每个函数创建时,解析器都会默认添加prototype属性 * 该属性对应着的对象原创 2021-10-01 16:21:50 · 81 阅读 · 0 评论 -
20210920-JavaScript-函数和方法
函数和方法本质上是同一个东西,都是函数function当函数是对象的属性时,则称这个函数function是对象的方法method调用函数就是调用对象的方法var obj = { func: function(){ console.log('我是对象obj里面的函数,就是obj的方法~') }};obj.fun2 = function(){ console.log('我也是obj对象的方法,可以通过obj调用我')}// 打印调用结果console原创 2021-10-01 15:58:07 · 69 阅读 · 0 评论 -
20210923-JavaScript-this指向
JavaScript的function调用时,默认会传this参数。this指向的是当前的对象,this.xx即调用当前对象的某个属性。主要有两种指向场景。作为函数调用时,this=windows对象(系统全局对象Windows)作为方法调用时, this=调用方法的对象示例function fun(){ console.log(this);};// 作为函数调用,fun打印结果是Window对象fun();var obj = { name: 'ha',原创 2021-09-25 12:05:56 · 72 阅读 · 0 评论 -
20210921-JavaScript-变量和函数的提前加载
用var声明的变量会在加载代码块时提前被加载声明,但如果变量语句有赋值,提前加载时不赋值。用函数声明的方式创建的函数,在加载代码块时会被提前加载,所以在创建函数的语句前调用函数。用函数表达式创建的对象不会被提前加载。console.log('b =', b); // b已声明但未赋值,打印结果是undefinedvar b = 100;// 可以在函数创建语句的上方,调用函数fun(obj)function fun(a){ console.log('传参a=', a)}.原创 2021-09-22 18:58:52 · 192 阅读 · 0 评论 -
20210917-JavaScript-JavaScript函数特点
JavaScript的函数传参比较灵活,具体如下:传参不校验类型。JavaScript是强类型语言,新建变量时是要定义类型的,但函数传参不需要。而且与Python不一样的是,可以任意传数组和字典对象但形参无需特殊定义。不要求个数返回值为空或无返回时,接收结果=undefinedfunction fun(a, b){ // 函数内JavaScript的传参无需接收可以直接使用! console.log('传参a=', a) // 未传实参的形参,打印结果是undefined.原创 2021-09-20 11:37:32 · 129 阅读 · 0 评论 -
JavaScript-20210909-几种创建对象的方法
JavaScript数据类型包括基础类型:String 字符串Number 数值Null 空Undefined 未定义Boolean 布尔和引用数据类型Object 对象对象类型是基础类型的复合使用,包含了 数组、函数等汇总一下几种对象的创建方法。// 方法一 构造函数创建var obj = new Object();// 打印obj,显示类型为对象类型console.log(obj)console.log(typeof obj)// 构造函数创建函数对象,函数对象可以用于原创 2021-09-17 18:40:10 · 78 阅读 · 0 评论 -
20210815-JavaScript-基础复习-++a和a++的区别
++a和a++两者都会导致原值自增1,区别是运算结果,前者=新值,后者=原值示例:var a = 10;var b = a++;console.log('a自增1,结果为', a)console.log('b=a原值', b)var c = ++a;console.log('a自增1,结果为', a)console.log('c=a自增后的值,为', c)...原创 2021-08-17 10:17:31 · 173 阅读 · 0 评论 -
20210813-JavaScript-基础复习-基础数据类型
JavaScript共有以下6种基础数据类型:String 字符串Number 数值Null 空Undefined 未定义Boolean 布尔Object 对象可通过typeof 查询到对应的数据类型```javascript// 定义字符串string变量var str1 = '123';// 打印str1console.log(str1);// 查看str1 数据类型str1Type = typeof str1;// 打印str1数据类型console.log('s原创 2021-08-17 09:56:22 · 109 阅读 · 0 评论 -
20210807-JavaScript-关于需不需要分号
之前写js的时候,发现没有加分号脚本也能正常运行,但看到很多标准语法示例都是有加分号的,就很懵为什么要多此一举。。。。今天在看技术视频的时候终于知道为啥了。。。。如果不加分号,浏览器和其他运行js的平台是会自动添加分号的,但这样做是会额外消耗资源的。并且,会有可能运行平台把分号加错位置,导致脚本出错!所以还是要养成加分号的好习惯啦!...原创 2021-08-07 21:06:55 · 295 阅读 · 0 评论 -
20210715-Python-JavaScript-从表单请求到动态展示在列表
brief:新建flask项目新建html页面page_01并使用js实现http请求app.py实现路由和数据返回page_01,实现数据响应处理page_01,js动态创建列表实现数据显示1、新建flask项目1.1、flask环境搭建命令行窗口执行pip install flask或,pycharm设置弹框,点击 项目解释器 (project interpreter),添加flask1.2、新建flask项目搭建好环境后,专业版pycharm点击左上角新建项目,在新建弹框,选原创 2021-07-17 23:57:50 · 182 阅读 · 1 评论 -
20210717-JavaScript-ajax实现http请求
brief:新建new XMLHttpRequest()对象,设置请求数据setRequestHeader()设置请求头(如果是get,可缺省)send()发送请求onreadystatechange方法处理响应,接收响应数据示例:let data = {'orderNum':orderNum}// 请求数据:1、新建请求对象let req = new XMLHttpRequest()req.open('post','http://127.0.0.1:5000/submit',true原创 2021-07-17 12:35:48 · 147 阅读 · 0 评论 -
20210707-JavaScript-replace全局替换
replace()普通用法str1 = 'today is a good~ today iam happy'"today is a good~ today iam happy"str1.replace('today','tomorrow')"tomorrow is a good~ today iam happy"全局替换用法:str1.replace(/today/g,'tomorrow')"tomorrow is a good~ tomorrow iam happy"...原创 2021-07-07 12:18:10 · 130 阅读 · 0 评论 -
20210703-vue在Mac上的安装和初始化及遇到的问题
brief:安装node(自带npm)npm安装vuevue创建项目vue项目初始化一、安装node官网下载并安装:https://nodejs.org/en/download/二、npm安装vue网上找的命令npm install vue-cli -g提示命令已被更新:按照提示,使用命令: npm install @vue/cli -g提示npm需升级:升级:npm -g install npm升级失败,提示可能没有权限:管理员权限操作sudo npm原创 2021-07-03 14:28:11 · 290 阅读 · 2 评论 -
20210630-JavaScript-Vue-状态位转换tips
背景:需要实现按钮默认状态=A,点击后变成B,再点击变成A。解决方案:通过判断状态位,=1时,重置状态位=0;反之亦反;利用公式:当前状态位+原状态位始终=1这里示例方案2示例:html:<div id = "app1"> <button @click="btn" >{{text[btn_type]}}</button></div>vue:<script type="text/javascript"> const原创 2021-06-30 18:37:42 · 108 阅读 · 0 评论 -
20210622-Postman-CryptoJS.MD5方法进行MD5加密
背景:大部分的接口请求为了安全,都会进行MD5动态加密,如果无法实现加密,很可能无法进行模拟请求(当然,也可以让开发加密钥开关绕过加密,如果开发足够friendly~)示例:// 获取当前时间戳(13位)var ts = Date.now()// 设置时间戳环境变量(接口请求时,时间戳需要保持一致)pm.globals.set("ts", ts);console.log(ts)// 签名加密对象包括渠道id,密钥,时间戳 (其中渠道和密钥是从环境变量中获取)var str = pm.envi原创 2021-06-22 18:33:45 · 1426 阅读 · 0 评论 -
20210611-Postman-实现循环调用并中止
背景:实现接口自动化时,有时候需要重复调用某个接口。比如有个点赞需求,点击多次赞会触发特殊结果。此时有两种实现:创建两个一样的请求脚本;创建一个,重复执行。这里实践一下第二种。重复执行需要实现:某个请求执行后,可以指定调用特定请求定义指定条件下,跳出循环。具体实现:定义变量num保存当前执行到第几次点赞请求开始前,获取当前轮次的点赞用户;点赞后,判断点赞结果,成功则轮次+1并再次调用,失败则停止执行并轮次不变示例:Pre-request Script(请求前处理):/原创 2021-06-15 15:44:36 · 2232 阅读 · 6 评论 -
20210611-Postman-获取到的环境变量类型格式问题
今天在实践时,发现获取到的环境变量数值无法用num += 1自增,原因是因为默认设置的环境变量的值即使数字,其类型也是字符串 (python习惯了自动类型。。。),如下:// 获取变量 thumpUpNum,其值=5var num = pm.environment.get('thumpUpNum')console.log(typeof(num))打印结果:“string”所以,用的时候需要将该环境变量转换成数值类型。方法1 parseInt() 将变量转成整型,会舍去小数点num = pa原创 2021-06-11 11:03:28 · 554 阅读 · 1 评论 -
20210607-JavaScript-字符串拼接
1、+运算符连接var str1 = '哈哈'var str2 = ','var str3 = '你好'str = str1+str2+str3console.log(str)结果:“哈哈,你好”2、concat()方法var str1 = '哈哈'var str2 = ','var str3 = '你好'str = str1.concat(str2,str3)结果:“哈哈,你好”3、join()方法(join是数组的方法,可以将字符串装入数组,调用数组的join方法连接原创 2021-06-10 18:39:52 · 100 阅读 · 0 评论 -
20210602-JavaScript-字符串基本操作-查找截取
1、获取字符串长度 str.lengthvar str = 'hello world!how are you!';console.log(str.length);2、查找指定字符位置2.1 IndexOf ()和 lastIndexOf()var str = 'hello world!how are you!';console.log(str.indexOf('how')) // 查找how最早出现的位置,无则返回-1console.log(str.indexOf('h',1)) /原创 2021-06-08 16:55:36 · 223 阅读 · 1 评论