首页 > 其他分享 >js 一些常见新语法实践测试

js 一些常见新语法实践测试

时间:2024-06-02 18:22:24浏览次数:15  
标签:key console log Object js 语法 let 测试 abc3


// 生成多少个yield 就能被for of 遍历多少次
function* mytest() {
    for (let i = 0; i < 5; i++) {
        yield Math.random(10) * 1000
    }
}

// for of 会迭代生成器里面所有的yield ,有多少个yield就会迭代多少次
for (let i of mytest()) {
    console.log(i, "i")
}


//对象的迭代器实现,实现可以for of迭代,Symbol代表隐式且唯一的属性
Object.prototype[Symbol.iterator]=function* (){
    for(let key of Object.keys(this)){
        yield this[key]
    }
}

let abcObj={
    a:"sdfsdfs",
    b:"sdlfjsfdjsd"
}

for(let i of abcObj){
    console.log(i,"迭代对象的key")
}

let abc3 = Symbol;

console.dir(abc3, "abc3");

abc3 = 234243234; // 重新分配给 abc2 一个新的值
console.log(abc3, "abc3");

abc3=65756567
console.log(abc3,"abc3") //可以打印,说明Symbol变量可以多次重新赋值

let myOnlyKey=Symbol();

let obj2={
    a:"sdlfksjdff",
    [myOnlyKey]:"slkfjsldjflskjfd"
}

console.log(obj2,"obj2")

for(var i in obj2){ //不能遍历到Symbol参数的key ,说明不可枚举
    console.log(i,"obj2-i")
}


let abcd=[2342,2342,435432,42,34,2,432]

let at3=abcd.at(3) //at 索引index位置的数据

console.log(at3,"at3")


let abcvdf={
    a:'sdfsdf',
    b:"sdlfjslfdsf",
    c:"sdfksjlfdsd"
}


console.log(...abcvdf,"abcvdf") //解构子属性
// 这里的 ...args 是函数的剩余参数。它将传递给函数的所有参数收集到一个数组中。因为你传递了一个对象 abcvdf,所以 args 数组中包含一个元素,即 abcvdf 对象。
function abcde(...args){
    console.log(args,"args")
}

abcde(abcvdf)

// 大小写转换
console.log("T".toLowerCase())
console.log("t".toUpperCase())

var urlStr="https://baidu.com?a=sdsfsdf&b=23432424&c=9999"

// let urlParams=new URLSearchParams(urlStr)
// console.log(urlParams,"url-params")

// let getAParams=urlParams.get('a')

// console.log(getAParams,"paramsa")

const params = new URLSearchParams();//实现js参数转urlcode编码,直接可以传到url去请求
params.append('param1', 'value1');
params.append('param2', 'value2');

console.log(params.get('param1')) //获取到参数了


const urlObject = new URL(urlStr);// 先转为url对象,通过对象或者属性search可以获取到参数的字符
console.log(urlObject,"urlObject")
const param = new URLSearchParams(urlObject.search); //参数的字符转URLSearchParams实例对象,再通过api获取参数属性

// 遍历所有参数
for (const [key, value] of param.entries()) {
    console.log(`${key}: ${value}`,"获取url参数");
}


var objOne={
    a:"a"
}
var objTwo={
    a:"a"
}

console.log(Object.is(objOne,objTwo),"对象比较") //比较不了引用类型,不相等

console.log(Object.is(1,1),"Object.is") //可以比较基本数据类型,相当于===

console.log(Object.is(NaN,NaN),"Object.is") //可以比较基本数据类型,相当于===





标签:key,console,log,Object,js,语法,let,测试,abc3
From: https://www.cnblogs.com/jocongmin/p/18227430

相关文章

  • Groovy基础语法-字符串篇
    索引取值str1="devops-test-stings"1、获取字符串倒数第一个的值groovy:000>printlnstr1[-1]s2、获取索引为2的值groovy:000>printlnstr1[2]v3、获取多个下标的值,用“,”号隔开groovy:000>printlnstr1[0,2,4]dvp4、获取字符串第一个到第四个的值,可用于截......
  • URLSearchParams使用实践,URLSearchParams实现url参数字符转js对象,获取属性等功能
    constparams=newURLSearchParams();//实现js参数转urlcode编码,直接可以传到url去请求params.append('param1','value1');params.append('param2','value2');console.log(params.get('param1'))//获取到参数了consturlObject=ne......
  • Aqua 专为自动化测试打造的IDE
    JetBrains是一家全球知名的软件开发公司,他们公司推出的IDE几乎是编程语言的首选,IntelliJIDEA之于Java,PyCharm之于Python,以及GoLand之于go等。5月24号JetBrains官方宣布Aqua正式公开发布,这是一款专门针对自动化测试打造的IDE。对于一名自动化测试的工程师,对于这些语言和工具再......
  • 20211215-sdf测试2-openssl
    以下是按照Markdown格式整理的你所需要的代码和操作过程,使用中文描述:任务详情在openEuler(推荐)、Ubuntu或Windows(不推荐)中完成以下任务。参考网内容以及AI给出的详细过程,否则不得分。0.根据gmt0018标准,如何调用接口实现基于SM3求你的学号姓名的SM3值?#include"sd......
  • 自动化测试意义
    自动化测试意义,更现实的来说把我们的自动化测试应用到项目中去,在保证质量的前提下让项目的测试成本低于纯手工测试。自动化测试关注的一些指标:1、自动化测试用例的覆盖率=自动化测试用例数/所有用例总数,这个比例越高,测试反馈越快,成本节约越多。2、节省的时间成本=手工测试所花的......
  • 什么项目适合做自动化测试?
    什么项目适合做自动化测试?1.需求稳定,不会频繁变更2.研发和维护周期长,需要频繁执行回归测试3.需要在多种平台上重复运行相同测试的场景4.某些测试项目通过手工测试无法实现,或者手工成本太高5.被测软件的开发较为规范,能够保证系统的可测试性6.测试人员已经具备一定的编程能力......
  • 自动化测试的认识误区
    误区一:自动化测试是一种比人工测试更先进,更高级的测试手段。自动化测试既有自身的优点,也有其局限性。例如对于需求不明确,或者界面经常发生变动的产品就不适合使用自动化测试。自动化测试与手工测试的关系应该是相辅相成,互相弥补各自的局限性,相互促进。误区二:自动化测试能够发现......
  • 自动化测试的优势&劣势
    自动化测试的优势:1.可复用性一旦编写好自动化测试脚本或者测试工具,便可以重复使用,使得我们可以避免繁琐重复的手工测试。2.可靠性手工测试在一定条件下存在不确定性,偶尔会出现漏测或者误判的情况,但是自动化测试的预期输入和输出的确定性,可以弥补此类缺陷。3.速度快,时间......
  • JS-11-es6常用知识-Promise(6K字超级详解!!)
    文章目录1回调地狱2 Promise函数基本用法3 Promise函数实现多层回调 4Promise传参5 Promise错误处理5.1两种错误处理方式5.2catch捕获错误5.3多层异步种使用catch6使用Promise的优势1回调地狱1)为什么要有promise?  解决(回调地狱)的问题 2)什......
  • 【AI Generated】从零学习Vue.js
    从零学习Vue.js目录引言准备工作Vue.js基础3.1Vue实例3.2模板语法3.3数据绑定3.4计算属性和侦听器3.5Class与Style绑定3.6条件渲染3.7列表渲染3.8事件处理3.9表单输入绑定Vue.js组件4.1组件基础4.2组件注册4.3父子组件通信4.4插槽4.5......