先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
正文
var num = 123;
var num1 = “123”;
var num3 = NaN;
var num4 = 123.321;
var num2 = null;
alert(num5);
1.变量----let
let用的多:
2.怎么打印—console
console用的多:浏览器的控制台;还有alert:弹出窗口
3.if条件分支–啥都可以是条件
如果是变量,0表示false,其他都为true;
如果变量不赋值,默认为false;
空字符串为false,其他正常对象都是true;
let i = 10;
if(i>=10){
console.log(“i大于等于10”);
}else{
console.log(“i小于10”);
}
// 可以把变量传入if
// 0表示false,其他都是true
let j = -9
if(j){
console.log(“i大于等于10”);
}
// 如果没有赋值,默认为false
let k;
if(!k){
console.log(“hh”)
}
// 空字符串为false,其他正常的对象都是true
if(“bac”){
console.log(“abc”)
}
例子:输入框,打印输入和未输入
4.数组push 和 splice
数组,自动扩容,未定义是undefined
let arr = [‘a’,‘b’,‘c’,‘d’,‘e’];
(1)push方法:往最后添加元素
// 数组常用操作 push,splice
console.log(‘数组长度:’+arr.length);
// 1.push,数组放元素,默认往最后一个添加
arr.push(‘g’);
console.log(arr);
console.log(arr.length);
(2)splice,3个参数,索引开始、删除几个,添加啥
2.1 进行添加,可以多个
// 2.1 往最前面添加1个元素—添加
arr.splice(0,0,‘a1’,‘a2’);
console.log(arr);
// 2.2 往索引为xx加
arr.splice(3,0,‘b’,‘a’);
console.log(arr)
// 2.3 往最后加1个元素
arr.splice(arr.length,0,‘last’);
console.log(arr);
2.2 删除元素
// 删除元素
// 2.1 删除头部2个元素
arr.splice(0,2);
console.log(arr);
// 2.2 删除最后1个元素
arr.splice(arr.length-1,1);
console.log(arr)
2.3 修改元素
// 修改元素
arr.splice(2,1,‘ccc’);
console.log(arr);
5.循环语句—数组的打印
fori,forin,forof,foreach,
// 用增强型
for (const s of arr) {
console.log(s);
}
console.log(“~~~~~~~~~~~~~~~~~~~~~~”)
// 用forin
for (const arrKey in arr) {
console.log(arrKey+': '+arr[arrKey]);
}
console.log(“~~~~~~~~~~~~~~~~~~~~~~”)
// foreach
arr.forEach(s=>console.log(s))
函数定义&值的比较
1.函数定义—啥都能传
不传的话,返回值为NaN,not a number
(1)方式一:function add(){}
// 定义一个方法,返回值类型可不写
function add(a,b) {
return a+b;
}
console.log(add());// NaN,not a number
console.log(add(1,2))
console.log(add(1,2,3))
console.log(‘aa’,‘bb’); // 字符串也行
console.log(‘1’,2)
(2)把方法定义成一个常量【常用】
// 定义添加方法,方法定义成一个变量
// 常用,函数是一个对象
let add1 = function (a,b) {
return a+b;
}
console.log(add1(3,5))
2.值的比较—字符串和数字可以比较,===
===可以排除类型不同的情况,
// 字符串和数字是可以比较的
console.log('1’1); // true
console.log(11);
// 排除类型相等的问题
console.log(‘1’===1); // false
JSON对象【重要】—{} + []
s和其他语言通讯 用JSON对象:数组对象[] 和 普通对象{},可以互相嵌套,甚至套本身
{} ====对应java中的实体类,或者map;
[] ====对应java中的List 和 数组;
{}表示一个对象,用键值对定义,用. 就可以获得— JSON对象
// js和其他语言通讯 用JSON对象:数组对象[] 和 普通对象{},可以互相嵌套,甚至套本身
// {} ====对应java中的实体类,或者map;
// [] ====对应java中的List 和 数组;
// {}表示一个对象,用键值对定义,用. 就可以获得— JSON对象
let person = {
“name”:“peter”,“age”:28,“gender”:“男”,
“address”:[{“1001”:‘南京’},{“1002”:‘背景’}]
}
console.log(person.name)
// 获得第一套房子
console.log(person.address[0])
// 表示多个人
let persons = [{“name”:“p”},{“name”:“s”}];
console.log(persons);
js操作标签—控制html元素
方法 | 函数 |
---|---|
根据id获取元素 | document.getElementById(“username”) |
用选择器获取 | document.querySelector(“#username”) |
用name获取–多个 | ddocument.getElementsByName(“hobby”) |
案例:让选择框 都变成未选择的状态:
// 3.用name获取–多个
let h = document.getElementsByName(“hobby”);
h.forEach(ho=>ho.checked=false);
完整代码:
常用事件
1.鼠标单击事件–onclick–eat.innerText
鼠标单击一下,增加一个apple,eat.innerText
add
1.案例:开灯关灯案例—light.src.includes(“off.gif”)
思路,本质是监测鼠标单击,如果单击了就换一下图片
方法一:用includes方法,不能用==,猜测是对比引用指向同一对象?
方案二:顶一个Boolean类型的flag,每次取反
2.鼠标失去焦点时间–onblur
usernameInput.onblur
3.两个textarea同步–oninput
jianInput.oninput
3.案例:两个框同步,类似百度翻译
4.案例:按钮弹框window.alert() + 二次确定confirm(“确定删除”);
删除
5.案例:操作页面—控制浏览器window.open(),close()
openBtn.onclick = function () {
console.log(“open~~~~~~~~”);
openW = window.open(“https://baidu.com”)
}
closeBtn.onclick = function (){
console.log(“close~~~~~~~~”);
openW.close();
}
6.案例:刷新页面—location.reload()
openBtn.onclick = function () {
console.log(“open~~~~~~~~”);
location.href = “https://baidu.com”;
}
reload.onclick = function () {
console.log(“reload”);
location.reload();
}
7.案例:10s后跳转到百度—location.href = “https://www.baidu.com”;
10秒后跳转到百度