精华内容
下载资源
问答
  • 帮助开发者提升开发效率,远离996 特点 以搜索框为入口,集成开发者常用工具,提升开发效率 主要功能如下: 支持本地书签、tab页、历史记录搜索 集成CSDN搜索结果,本地内容和远程结果无缝集成 所有操作都支持...

    插件定位

    帮助开发者提升开发效率,远离996
    官网

    特点

    以搜索框为入口,集成开发者常用工具,提升开发效率
    主要功能如下:

    • 支持本地书签、tab页、历史记录搜索
    • 集成CSDN搜索结果,本地内容和远程结果无缝集成
    • 所有操作都支持快捷键,提升搜索效率
    • 快速查看文档,目前支持html,html5,h5,css,css3,js,jquery,bootstrap,vue,echarts,json,linux,docker,lua,python3,python,numpy,java,scala,go,c,c++,c#,sql,mysql,postgresql,php,mongodb,redis,maven,git,regexp,design,markdown,http,browser,tcpip,w3c,swift,kotlin,vue3,webpack
    • 他是一个时间转换工具
    • 他是一个计算器
    • 他是一个JSON转换工具
    • 他是一个IP查询工具
    • 他可以关闭CSDN站内广告
    • 他可以显示二维码
    • 他可以查询单词
    • 他是。。。,更多功能正在添加中

    安装

    1. 下载安装包

    2. 浏览器输入地址“chrome://extensions/”进入扩展程序页面,开启开发者模式
      在这里插入图片描述

    3. 以下操作任选其一:

      • zip文件安装: 将zip包解压到任意目录,点击“加载已解压的扩展程序”按钮,选择已解压的插件目录完成安装
        在这里插入图片描述

      • Chrome商店安装:审核中,敬请期待

    试用

    安装完成后,在浏览器任意页面,按键o (不是0)触发插件
    在这里插入图片描述
    这个输入框就是插件的主要入口了,所有功能都从这里触发
    使用mac的同学应该比较熟悉,参考了mac的聚焦搜索

    功能介绍

    书签、历史记录、标签页搜索

    插件的基本功能是搜索书签、历史记录、标签页。
    在搜索框输入搜索词,插件会返回搜索结果,快捷键上下选择对应内容或者鼠标点击后,会跳转到相应内容
    在这里插入图片描述

    搜索资料

    联网时,也会搜索远程服务器,可以快速查找资料
    在这里插入图片描述

    查看文档

    在这里插入图片描述
    在这里插入图片描述

    小工具

    是个计算器
    在这里插入图片描述
    是个时间转换工具
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    他是一个JSON解析器
    在这里插入图片描述
    他是一个IP查询工具
    在这里插入图片描述
    他可以显示二维码
    在这里插入图片描述
    他可以查询单词
    在这里插入图片描述

    快捷键

    所有操作都支持快捷键

    • o: 综合搜索,结果点击后在当前页面打开
    • shift + o: 综合搜索,结果点击后在新页面打开

    反馈问题及建议

    如有问题请加微信群沟通,扫描下面二维码后,再次识别即可进群
    在这里插入图片描述
    如果加不了群,可以搜索微信fbj203,注明chrome沟通,会有人拉进群

    展开全文
  • 1、一键万能框搜索: 极简操作: 任意网页下,键盘按下字母『C』,即可弹出万能搜索框,一键搜索全网内容+本地书签+历史记录,大幅提升搜索效率。 更多快捷键: 键盘按下 “b” : 仅搜索书签 ; 键盘按下 shift+“t...

    在这里插入图片描述
    CSDN 官方出品的浏览器插件–CSDN开发者助手
    终于正式更新啦!更多好玩功能等你发现,现在登录⭕️官网即可下载

    CSDN浏览器助手,风格简约清爽,体积不到1M,一键极简操作+万能工具,让你在工作、学习和技术开发场景中,告别浏览器的繁琐切换,快速高效解决问题,打造专属你的效率神器!小体积大作用! 现在下载,可得『永久底层免广告特权!』

    这个插件自上线以来,已经为专业的开发者服务300w+次 ,功能也在不断更新迭代,快来参与体验!

    接下来我们看看它具体都有什么神仙功能?

    1、一键万能框搜索:

    极简操作:
    任意网页下,键盘按下字母『C』,即可弹出万能搜索框,一键搜索全网内容+本地书签+历史记录,大幅提升搜索效率。

    更多快捷键:
    键盘按下 “b” : 仅搜索书签 ; 键盘按下 shift+“t” ,切换标签页⭕️插件下载官网
    在这里插入图片描述

    2、永久免费去广告:【新用户限时免费抢】

    即日起,安装该插件新用户,可永久去CSDN站内广告
    (须用该版本插件)占用内存极小,从底层去广告,让上网体验更清爽! 去广告特权版本限时下载!
    ⭕️插件下载官网
    在这里插入图片描述

    3、万能工具箱:

    任意网页下,键盘按字母**『C』**,在弹出的万能框中,输不同的短口令,即可实现一键JSON转换 、一键转换二维码、一键翻译等,高效彩蛋技能不断更新中,高效解决开发问题。

    提升:键盘按字母C,在万能框输入『help』可查看全部神奇的彩蛋口令代码!
    ⭕️插件下载官网 在这里插入图片描述

    4、个性化标签页:

    新标签页可自定义换肤,自动展现程序员热门网站,并可以自定义常用网站,同时可选择多种搜索引擎,打造专属你的清爽标签页!
    ⭕️插件下载官网 在这里插入图片描述

    还有其他隐藏的技能,比如 json格式化 、快捷计算器 ;IP地址识别, 日期格式化,时间戳自动转换、生成二维码 ,右键搜索 ;在线文档查阅; 在线翻译 ……
    简直是开发者的贴身小助手,让开发效率起飞!

    **具体操作方法见官网
    ⭕️插件下载官网
    产品同学还会根据大家的意见,在后续版本中不断增加其他神奇的功能!

    看了这么多插件功能介绍 ,各位小哥哥小姐姐是不是心动了捏?这真的是一款你用了就会离不开的插件

    现在已经开启全网开放下载,官网地址如下 ,快来尝鲜吧!

    ⭕️插件下载官网
    ⭕️插件下载官网
    ⭕️插件下载官网

    欢迎大家体验插件 ,把你的体验盖楼 告诉我们,优质留言可能会被产品小哥哥翻牌子哦~

    盖楼规则:带话题 #CSDN插件建议# + 你最喜欢插件的哪个功能?另外你最希望加入哪个功能?**

    你的建议对我们很重要!快来进入官网抢鲜下载体验
    ⭕️插件下载官网
    ⭕️插件下载官网
    ⭕️插件下载官网

    展开全文
  • Java进阶高手课-Java基础编程提升

    万人学习 2020-04-27 17:53:41
    课程聚焦Java基础编程提升的核心知识点,以真实场景项目实战为导向,循序渐进,深入浅出的了解Java基础编程,讲解Java这门使用广泛的编程语言,助你能够游刃有余地游走在这些技术之中。
  • 提升度,提升表和提升图 lift chart

    千次阅读 2019-10-31 16:56:40
    提升指数、提升表和提升图(草稿) 胡江堂,北京大学软件与微电子学院 2006-11-5 1. 什么是Lift? I) Lift(提升指数)是评估一个预测模型是否有效的一个度量;这个比值由运用和不运用这个模型所得来的结果计算...

    Lift, Lift Table, and Lift Chart

    提升指数、提升表和提升图(草稿)

    胡江堂,北京大学软件与微电子学院

    2006-11-5

    1. 什么是Lift?

    I) Lift(提升指数)是评估一个预测模型是否有效的一个度量;这个比值由运用和不运用这个模型所得来的结果计算而来。

    II) 一个简单的数字例子:

    i. 比如说你要向选定的1000人邮寄调查问卷。以往的经验告诉你大概20%的人会把填好的问卷寄回给你,即1000人中有200人会对你的问卷作出回应(response),用统计学的术语,我们说baseline response rate是20%;

    ii. 如果你现在就邮寄问卷,1000份你期望能收回200份,这可能达不到一次问卷调查所要求的回收率,比如说工作手册规定邮寄问卷回收率要在25%以上;

    iii. 通过以前的问卷调查,你收集了关于问卷采访对象的相关资料,比如说年龄、教育程度之类。利用这些数据,你确定了哪类被访问者对问卷反应积极。假设你已经利用这些过去的数据建立了模型,这个模型把这1000人分了类,现在你可以从你的千人名单中挑选出反应最积极的100人来,这10%的人的反应率(response rate)为60%。那么,对这100人的群体(我们称之为Top 10%),通过运用我们的模型,相对的提升(gain or lift value)就为60%/20%=3;换句话说,与不运用模型而随机选择相比,运用模型而挑选有3倍的好处;

    iv. 类似地,对占总样本的任何比例的人群,我们都可以计算出相应的提升指数,比如说我们可以计算Top 20%的群体的提升指数。

    III) 一个结论就是,提升指数越大,模型的运行效果越好。

    2. 建立Lift Table 的步骤(并画出Lift Chart),以验证信用评分模型为例:

    I) 利用已经建立的评分模型,对我们要验证的样本进行评分。样本下的每一个个体都将得到一个分数,或者是违约概率,或者是一个分值;

    II) 对样本按照上面计算好的分数进行降序排序;

    III) 把已经排好序的样本依次分成10个数量相同的群体,我们就建立了一个叫decile的变量,它依次取10个值,1、2、3、4、5、6、7、8、9、10,diclie1包括违约概率值较高的10%的个体,diclie2包括下一个10%的群体,以此类推;

    IV) 帐户总数是每个decile下的样本数,它是整个样本数的10%;

    V) 边际坏账数是每个decile内违约的人数,就是说,利用我们的评分模型,在decile1,有25个人违约,以此类推;

    VI) 累计坏账数,45表明前两个decile内共有45个人违约,以此类推;

    VII) 边际坏账率是每个decile内坏账的比率。对decile1,边际坏账率由25/100得来;

    VIII) 对每一个加总的decile,都计算一个累计坏账率,比如说,对前两个decile,也就是整个样本的20%,累计坏账率等于(25+20)/(100+100);

    IX) 在每个decile里,提升指数(Lift)就是相应的累计坏账率与平均坏账率的偏离程度,计算公式是(累计坏账率-平均坏账率)/平均坏账率,习惯上还会乘上一个100。

    X) 注:在一些处理中,提升指数直接由每个decile的累计坏账率除以平均坏账率得来,它们之间就相差1,一个是相对偏离,一个是偏离。

    XI) 就我们考察的信用评分模型,它的目的就是尽可能把人群区别来开来,比如说“好”的顾客、 “坏”的顾客。提升指数越大,表明模型运作效果越好。

    表1:Lift Table

    (注:该表内数字纯粹为了演示,没有任何实际背景)

    图1:Lift Chart

    3. 参考资料

    I) Bruce Ratner, Decile Analysis Primer: Cum Lift for Response Model.

    http://www.dmstat1.com/res/DecileAnalysisPrimer.html

    II) Howard J. Hamilton. Cumulative Gains and Lift Charts

    http://www2.cs.uregina.ca/~hamilton/courses/831/notes/lift_chart/lift_chart.html

    III) David S. Coppock. Data Modeling and Mining: Why Lift?

    http://www.dmreview.com/article_sub.cfm?articleId=5329

    IV) Lift Chart. See Thomas Hill, Paul Lewicki. Statistics: Methods and Applications.

    http://www.statsoft.com/textbook/glosl.html

    V) 冯慧,“信用卡业务与系统”,北京大学软件与微电子学院,2006年秋季学期,课堂笔记

    Technorati Tags: 提升表提升指数lift chartlift信用评分credit scoringdecile

    展开全文
  • JavaScript中的变量提升和函数提升

    千次阅读 多人点赞 2018-03-29 14:31:26
      在理解变量提升和函数提升之前,我们需要先理解好JavaScript的作用域的奇特之处。 没有块级作用域   和C、C++、以及Java不同,在ES6之前,JavaScript没有块级作用域,只有全局作用域和函数作用域。 注...

    文章是本人大三期间的学习笔记,一些论断取自书籍和网上博客,碍于当时的技术水平有一些写得不够好的地方,可以在评论处理智讨论~

    变量的作用域


    在理解变量提升和函数提升之前,我们需要先理解好JavaScript的作用域的奇特之处。

    没有块级作用域

    和C、C++、以及Java不同,在ES6之前,JavaScript没有块级作用域,只有全局作用域函数作用域

    **注:**其实从 ES3 发布以来,JavaScript 就有了块级作用域(withcatch分句),而 ES6 引入了 let

    我们首先来看下面这个例子:

    ps:下面代码可以直接复制出去运行哦

    <script type="text/javascript">
    function test() {
    	if(1) {
    		var j = 0;//j存在于test()中任何地方,不止在if{}中
    		for(var k = 0; k < 10; k++) {}
    		console.log("k = " + k);//k存在于test()中任何地方,不止在循环中
    	}
    	console.log("j = " + j);
    }
    test();
    </script>
    

    对于初学JavaScirpt,写惯了C、C++、Java的童鞋来说,这已经是一个很奇特的结果了。

    此外,在函数作用域中,局部变量的优先级比同名的全局变量高。如果给一个局部变量或函数的参数声明的名字与某个全局变量的名字相同,那么就会有效地隐藏这个全局变量了。

    变量提升


    在了解了关于作用域的前置知识后,我们来聊聊提升这个有趣的现象。

    首先举个栗子~

    console.log(a);
    var a = 2;
    

    上面会输出什么呢?

    是由于变量 a 在使用前没有先进行声明,因此会抛出 ReferenceError异常?还是输出 2 ?

    不过上面的两种猜测都不对,正确答案是输出 undefined(已声明未定义值)

    这就是一个典型的 变量提升 现象。

    当你看到 var a = 2;时,可能会认为这只是一个简单的声明语句。但 JavaScript 实际上会将其看成两个声明: var a;a = 2;。第一个定义声明是在编译阶段进行的,第二个赋值声明会被留在原地等待执行阶段

    因此上面的代码会以如下的形式进行处理:

    var a;
    console.log(a);
    a = 2;
    

    因此,打个比方,这个过程就好像变量和函数声明从它们在代码中出现的位置被“移动”到了最上面。这个过程就叫做 提升

    注:无论作用域中的声明出现在什么地方,都将在代码本身被执行前首先进行处理。可以将这个过程形象地想象成所有的声明(变量和函数)都会被“移动”到各自作用域的最前端,这个过程被称为 变量(函数)提升

    函数提升


    接着让我们来结合函数以及作用域以及上面的变量提升来看一个有趣的题目(这极有可能会出现在面试题中):

    var a = true;
    foo();
    
    function foo() {
    	if(a) {
    		var a = 10;
    	}
    	console.log(a);
    }
    

    这个例子最终的答案是 undefined。这是个很有趣的题目包含了许多可能会在 JavaScript 中碰到的坑。

    下面是这段代码实际会被 JavaScript 执行的样子:

    function foo() {
    	var a;
    	if(a) {
    		a = 10;
    	}
    	console.log(a);
    }
    var a;
    
    a = true;
    
    foo();
    

    var a = true;被解析成上面第1、2行不足为奇。

    首先,我们来看 foo(...) {} 的位置被移到了 foo();的前面,根据前面对变量提升的解释,我们可以很容易理解这是函数发生了提升,这就是函数提升

    继续我们来分析 foo(...) {} 中的代码。为什么会输出 undefined,而不是我们期望的 10,玄机都在其中!

    让我们回到最前面对作用域的理解,在 JavaScript 中没有块级作用域,所以 var a = 10;会被 JavaScript 分为两步中的 var a; 会被提升到函数作用域中的最顶端,声明了一个局部变量 a,在 foo(...) {} 的函数作用域中,这个重名局部变量 a 会屏蔽全局变量 a,换句话说,在遇到对 a 的赋值声明之前,在 foo(...) {},a 的值都是 undefined
      所以一个 undefined 的 a 进入不了 if(a) {...} 中,所以最后被打印出来的是 undefined

    需要注意的一点是,在 JavaScript 中,函数有两种方式进行声明,函数声明会被提升,但是函数表达式却不会被提升

    将上面的例子进行修改:

    var a = true;
    foo();
    
    var foo = function() {
    	if(a) {
    		var a = 10;
    	}
    	console.log(a);
    }
    

    这里会抛出 TypeError,而不是 ReferenceError

    常量提升,代码会被解析为:

    var a;
    var foo;
    
    a = true;
    foo();
    
    foo = function() {
    	if(a) {
    		var a = 10;
    	}
    	console.log(a);
    }
    

    在执行阶段时,当碰到 foo();时,foo 还没有赋值(如果它是一个函数声明而不是函数表达式,那么就会赋值)。foo(); 由于对 undefined 值进行函数调用而导致非法操作,因此会抛出 TypeError 异常。(关于TypeErrorReferenceError 的区别,可移步 TypeError 和 ReferenceError )。

    函数优先


    函数声明和变量声明都会被提升。但是有一个需要注意的细节是函数会首先被提升,然后才是变量

    考虑下面的代码:

    foo();
    function foo() {
    	console.log('1');
    }
    
    var foo = function() {
    	console.log('2');
    }
    

    会输出 1 而不是 2!这个代码片段会被引擎理解为如下形式:

    function foo() {
    	console.log('1');
    }
    
    foo();
    
    foo = function() {
    	console.log('2');
    }
    

    然后,如果是两个函数声明,出现在后面的函数声明可以覆盖前面的

    foo();	//2
    function foo() {
    	console.log('1');
    }
    function foo() {
    	console.log('2');
    }
    

    上面的代码会被解析成:

    function foo() {
    	console.log('1');
    }
    function foo() {
    	console.log('2');
    }
    
    foo();	//2
    
    展开全文
  • 变量提升/函数提升

    千次阅读 2016-12-06 19:33:25
    很多人在初学JS接触到变量,函数的时候,总会碰到一个很棘手的问题----变量/函数提升. 然而变量提升之所以存在疑点,是因为它涉及到了作用域(scoping)的问题.所以在讲变量/函数提升之前,我们先来研究一下作用域的问题.
  • JavaScript 提升

    千次阅读 2020-06-29 17:47:19
    提升(Hoisting)是 JavaScript 将声明移至顶部的默认行为。 JavaScript 声明会被提升 在 JavaScript 中,可以在使用变量之后对其进行声明。 换句话说,可以在声明变量之前使用它。 Hoisting 是 JavaScript 将所有...
  • 变量提升与函数提升

    千次阅读 2019-06-08 09:11:48
    变量提升 在使用var声明对象的时候就算声明在赋值之后依然可以使用,这就是函数提升: var a = "globalvale"; function fn (){ console.log(a); var a="functionvar"; } fn();//"undefine" 在上面的例子当中...
  • 本系列的第一篇选择了一个很值得讨论的问题——变量提升,我们会从遇到问题、分析问题、解决问题、例题测试的方式加深大家对变量提升的认知,一起加油!
  • 下面就为大家带来几个提升香港服务器效率的方法,希望对大家有所帮助: [b]1.管理工具[/b] 如果您已经拥有了一定规模上的服务器,IP资源和交换机。那你可以通过数据基础设施管理工具(DCIM)来提高香港服务器的...
  • js 函数声明提升和变量声明提升

    千次阅读 2018-08-06 18:16:42
    1. 函数声明提升 func() function func () { } 上例不会报错,正是因为 ‘函数声明提升’,即将函数声明提升(整体)到作用域顶部(注意是函数声明,不包括函数表达式),实际提升后结果同下: // 函数声明提升...
  • 数据库性能提升之分库分表

    万次阅读 2020-10-16 21:26:09
    一. 数据切分 关系型数据库本身比较容易成为系统瓶颈,单机存储...数据切分就是将数据分散存储到多个数据库中,使得单一数据库中的数据量变小,通过扩充主机的数量缓解单一数据库的性能问题,从而达到提升数据库操作性
  • JS中的函数提升和变量提升

    千次阅读 2018-03-24 23:22:14
    变量提升和函数提升:就是将变量声明或者函数全部代码提升到当前作用域(全局作用域或函数作用域)最开始的部分。JavaScript中函数域为最小域范围;for循环、while循环、if语句、switch语句的“{}”不是作用域。注意...
  • 能够有效提升性能的 20 余款 VSCode 插件 代码快捷键、报错信息、代码注释,总有一款 VSCode 的插件能够提升你的工作效率。 下载量可以说是非常大、百万级别的插件,至少感觉是应该下载试用一下的插件们。 Auto ...
  • 什么是变量提升和函数提升

    千次阅读 2020-03-28 17:30:10
    猜猜输出什么? ...第一步骤是读取js代码,将所有变量声明和函数声明提升到全局作用域的顶端,即所谓的变量提升和函数提升,划重点只是提升变量声明,并不将赋值初始化提升。 第二步骤是运行代...
  • 程序员每天会阅读哪些技术网站来提升自己?

    万次阅读 多人点赞 2021-01-18 13:58:55
    一名程序员的日常,提升的方式有很多种,下面就为大家推荐一些大部分程序员都喜欢去逛的地方吧!1.CSDNhttps://www.csdn.net/国内程序员访问最多的地方,...
  • 变量提升

    千次阅读 2018-06-11 21:28:19
    1.啥叫变量提升? 我们知道变量如果没定义就输出的话,就会报错not defined 如果是在定义语句的上面调用的话,就会输出undefined,为啥嘞? 这种情况就叫做变量提升,在定义语句上面调用变量的话,会...
  • chrome开发者助手插件v2.10发布了,这个版本重点提升了常用工具的使用效率: 1. 新标签页支持一键打开常用小工具 开发同学使用比较频繁的IP查询、二维码转换、时间戳转换、文档查询、翻译等小工具,可以在桌面一键...
  • 变量提升和函数提升,以及它们的优先级

    千次阅读 多人点赞 2018-11-23 15:59:50
    一、变量提升 ES6之前,函数没有块级作用域(一对{}即一个块级作用域),只有全局作用域和函数作用域。变量提升是指将变量申明提升到它所在的作用域的最开始部分。 例子: console.log(foo); // undefined var ...
  • 初入Python-提升PV数(提升浏览量)

    万次阅读 2020-04-02 22:17:08
    稳定提升PV浏览量
  • 首先来段总结: 引擎在读取js代码的过程中,分为两步。第一个步骤是整个js代码的解析读取,第二个步骤是执行。...2.函数提升的优先级大于变量提升的优先级,即函数提升在变量提升之上。 记住这两句话,就可...
  • 提升算法 AdaBoost元算法 提升树算法 in Python
  • QT控件提升之QPushButton提升为QMenu

    千次阅读 2016-01-11 11:25:35
    当一个控件进行提升之后, 就有了新的功能, 在原来的一些特性基础上,发生一些新的改变。 QT控件提升方法: 1.需要写一个需要提升为某种功能的类。 2.打开qt设计师, 在对应需要提升的控件, 单击右键, 选择 ...
  • 使用Tomcat Native提升Tomcat IO效率

    万次阅读 热门讨论 2020-12-11 22:41:39
    IO有很多种,从最开始的Block IO,到nonblocking IO,再到IO多路复用和异步IO,一步一步的将IO的性能提升做到极致。 今天我们要介绍一下怎么使用Tomcat Native来提升Tomcat IO的效率。
  • JavaScript变量提升

    千次阅读 2020-03-12 11:34:40
    JavaScript变量提升 在JavaScript中变量声明与函数声明都会被提升到作用域顶部,优先级依次为:变量声明 函数声明 变量赋值 变量提升 var的变量提升 console.log(a); // undefined var a = 1; consol...
  • JS变量提升

    千次阅读 2019-04-09 14:27:01
    什么是变量提升 首先我们要知道js执行前有一个“预编译”过程, 预编译主要有两个任务: 声明所有var变量(初始为undefined)。 解析定义式函数语句。 变量提升的概念:函数和变量的声明会被js的解释器放到...
  • 深入理解变量声明提升和函数声明提升

    万次阅读 多人点赞 2016-03-05 20:51:02
    变量声明提升 1、变量定义 可以使用var定义变量,变量如果没有赋值,那变量的初始值为undefined。 2、变量作用域 变量作用域指变量起作用的范围。变量分为全局变量和局部变量。全局变量在全局都拥有定义;而...
  • 1.首先最常见的一种变量提升 console.log(a); //输出 undefined var a=10; console.log(a) // 输出 10 var 有提升的作用其实上面的代码会变成会变成 var a; console.log(a); //输出 undefined a=10; //赋值留...
  • 提升

    千次阅读 2015-06-13 11:47:19
    提升树 http://blog.csdn.net/tuqinag/article/details/46447555?ref=myread 简介 在Adaboost算法的框架下,以决策树为基函数的提升方法称为提升树。由于树的线性组合可以很好的拟合训练数据,即使数据中的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,717,963
精华内容 687,185
关键字:

提升