不懂的各类名词,以及学到的方法
作者:互联网
SDK和API
SDK:Software Development Kit 的缩写,翻译过来——软件开发工具包。可见SDK是一个统称,任何辅助我们实现某种功能的工具,都可以称之为SDK。
API:我们一般称之为接口,而他相对SDK,可以理解为SDK工具包向我们用户提供的一个入口或方法;换而言之,就是我们通过API来使用SDK包的某种功能。
举个栗子:我们平时带耳机(有线耳机)听歌,耳机就相当于SDK,而耳机的插头就相当于API,我们通过连接耳机的插头(API),来达到用耳机听歌(SDK)的功能。
js获取链接地址中的参数
function kv(key){
var v = new RegExp("[?&]"+key+"\=([^&]+)", "g").exec(location.search);
return v ? v[1] : '';
}
//传入参数名,返回的就是参数值。
模版引擎
概念 :是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。
实现原理:模版引擎会利用正则匹配识别模版文件中的模版标识,并用数据替换其中的标识符。
常见模板引擎:ejs、jade(现改名为pug)、Handlebars、Nunjucks、Swing等。
单线程与多线程
单线程:每个正在运行的程序(即进程),至少包括一个线程,这个线程叫主线程;只有一个主线程的程序,称作单线程程序。
多进程:拥有多个线程的程序,称作多线程程序。子线程和主线程都是独立的运行单元,各自的执行互不影响,因此能够并发执行。
区别:
单线程程序:只有一个线程,代码顺序执行,容易出现代码阻塞(页面假死)
多线程程序:有多个线程,线程间独立运行,能有效地避免代码阻塞,并且提高程序的运行性能
打包index入口文件时,遇到import是怎样处理的
当打包时遇到import引入另一个文件时,会将import的文件暂时加入一个队列中,等待当前文件打包完成后,会从队列中的文件依次进行打包;当遇到懒加载的文件时,会将此文件与当前文件同时进行打包,两者互不影响。
微信小程序不会存储cookie
在我们完成微信小程序登录后,cookie并不会被保存,这就导致我们去请求某些需要登录的cookie才能访问的api后,返回code:401。
解决方法:将登录接口返回的cookie保存下来,当请求需要cookie的api时,将cookie配置到header中,即可解决。
header: {
'content-type': 'application/x-www-form-urlencoded',
'cookie': res.cookies[0]
}
js实现唤醒页面打印机,打印当前页面内容
方法一:window.print()方法可直接唤醒页面打印机,打印当前页面body标签内的所有元素。
方法二:可利用iframe标签实现页面局部打印;在页面中插入iframe标签,并将其rameborder、height、width设置为0(为了让他不现实在页面上)通过js获取到iframe标签(var frameObj = $(document.getElementById(‘fra’).contentWindow.document.body);),然后将需要打印到局部内容添加到iframe标签的body里(frameObj.html(content)),可通过frameObj.append(),单独给大爷页面写样式,最后frameObj.contentWindow.print();实现打印。
js实现上传本地文件给后端
利用input标签实现基础功能:
<input class="uploadButton" type="file" accept=".xls,.xlsx" value="上传" oninput="chooseFile(this)"/>
其中accept属性可限制上传文件格式,但只对苹果系统有效,windows系统需对上传的文件拓展名进行筛选后,再上传。
function chooseFile(e) {
var formData = new FormData();
var file = $(".uploadButton").get(0).files[0], nameArrs = ['.xls', '.xlsx']
lastName = file.name.substring(file.name.lastIndexOf('.',file.name.length));
if (!nameArrs.includes(lastName)) {
alert('对不起,系统仅支持*.xls、*.xlsx格式的文件,请您调整格式后重新上传,谢谢 !');
} else {
formData.append("file",$(".uploadButton").get(0).files[0]);
$.ajax({
type: 'post',
processData: false,
contentType: false,
url: "/pass/api/file/excelupload",
data: formData,
success: function (data) {
if (data.code == 200) {
alert('上传文件成功。');
}
}
})
}
}
微信小程序如何在wxml文件标签内使用自定义方法
在该页文件夹内新建一个index.wxs文件,在文件内使用module.exports导出你要使用的方法;然后在wxml文件内引入此wxs文件,例:
<wxs module="match" src="./index.wxs"></wxs>
在需要使用此方法的地方使用match.方法名即可调用。
标签:学到,文件,名词,线程,各类,file,cookie,页面,SDK 来源: https://blog.csdn.net/weixin_49570809/article/details/113932024