当前位置: 首页 > news >正文

JavaScript学习:函数

问题导向

函数的基本使用?

如果你都有了答案,可以忽略本文章,或去JS学习地图寻找更多答案


function函数

在JS中,函数是一种特殊的数据类型,它让JS动了起来,有了能力,它可以是一个方法,或者是一个功能,提供某种能力
它常用来 封装 一些方法,供应用重复调用

函数特点

  • 具有特定功能/作用的
  • 能够重复调用的
  • 闭合状态的代码块
  • 能够兼容代码变化的

参数

形参:函数声明时填的参数
实参:函数调用时填的参数

例子:使用function关键字声明一个函数

function sayHi(name, age){   //声明()里的是形参console.log(`你好,我是${name},我今年${age}岁了`)
}
sayHi('小李', 18)  //调用()里的是实参

封装

两个概念:公共与私有
抽离公共逻辑,传递私有参数
怎么封装:取决于想怎么调用

如上面的例子:两个人都有打招呼的方法,打招呼的语句是共有的,名字和年龄是私有的

function sayHi(name,age){console.log(`你好,我是${name},我今年${age}岁了`)
}
sayHi('小李', 18)  你好,我是小李,我今年18岁了
sayHi('小陈', 19)  你好,我是小陈,我今年19岁了

函数深入

函数的几种写法

函数声明
function fn(x, y){console.log(x + y)
}
fn(5,3) //8函数表达式(表达式就是 什么 = 什么)
let fn = function(x, y){console.log(x + y)
}
fn(4,3) //7箭头函数:ES6写法
const fn = () => { console.log('hello js') }
fn()
​匿名函数
window.onload = function(){console.log('匿名函数')
}立即执行函数,自调用
(function(x, y){console.log(x + y)
})(6,7)

函数的书写结构

有参数,有返回值
注意:没传实参是undefined,少写实参是NaN
因为undefined + 数字 = NaN(not a number)function fn(a, b){return a + b
}
const result = fn(2,5)  //将结果返回,赋值给result
console.log(result) //7有参数,无返回值
function fn(a, b){console.log(a + b)
}
fn(3, 4) //7​
无参数,有返回值
注意:实参无效,能得到结果
function fn(){console.log(1 + 2)
}
fn(3,4) //3

return返回值

将值或函数返回给函数,单独成行,后面的代码不再执行

直接返回,fn存了a + b的结果,调用fn就可以得到它
function fn(a,b){return a + bconsole.log('这句不再执行')
}
console.log(fn(2,5)) //7
​返回变量
function fn(a, b) {let num = a + breturn num
}
console.log(fn(2, 5))
​返回函数
function fn(a, b){return function(){return a + b}
}
let result = fn(2,3)  //fn现在存的是一个return的匿名函数,需要再次调用result才能得到结果
console.log(result()) //5

一等公民

函数不仅可以声明与调用,还可以像简单值一样,赋值,传参,返回

1.函数可以像普通值一样,作为属性的值
var obj = {'eat': function () {console.log('吃东西')}
};
obj.eat() //吃东西2.函数可以像普通值一样,赋值给变量
var fn = function () {console.log('我是一个函数')
};
fn() //我是一个函数3.函数可以像普通值一样,作为参数进行传递,其实这就是回调函数
(函数调用时,把其他函数作为参数传进去调用)
例子1:传入匿名函数
function f1(fn){fn()
}
f1(function(){console.log('传入匿名函数')
})例子2:传入命名函数
function test() {console.log('函数作为参数')
}
function method(test) {test() //调用test函数
}
method(test) //传入命名函数,不需加()4.函数可以像普通值一样,被返回
function test() {var a = 666;function test1() {return a++}return test1
}
var result = test();
console.log(result); //test1函数
console.log(result()); //666
console.log(result()); //667

回调函数

函数作为参数使用

如果需要获取一个函数中的异步操作结果,就必须使用回调函数来获取

function fn(callback){模拟异步setTimeout(()=>{ let data = 'hello'callback(data)},1000)
}传入回调函数
fn((value)=>{console.log(value) //'hello'
})

同名参数

1,当函数出现同名的参数时,是保留最后一个行参的值。
function fn(a,a){console.log(a); //20return a + a
}
console.log(fn(10,20)) //402,当实参的个数小于行参的个数,则最后一个形参的值是undefined
function fn(a,b){console.log(a);//10console.log(b);//undefinedreturn a + b
}
console.log(fn(10)) //10 + undefined = NaN 

函数作用域

作用域:代码有效范围

在函数中,没有块级作用域,只有函数作用域,变量声明在函数的内部,只在{}内生效

全局作用域
if(true){var num2 = 20
}
console.log(num2) //20函数作用域
function fn(){var num = 30
}
console.log(num) //num is not defined

函数作用域链

优先在本层中查找,本层没有则向上一层查找,直到全局作用域

如果本层有var变量,则变量提升

var x = 100;
function test() {console.log(x);   //预解析,结果undefinedvar x = 10;console.log(x);   //10function show() {var x = 66;   //如果这个66不存在,下面打印的就是10console.log(x)//66}show()
}
test();

自由变量

在函数中,变量的查找,是在函数声明的地方,向上级作用域查找,不是执行的地方

函数作为返回值
function fn(){let a = 100return function(){console.log(a)}
}
let foo = fn()
let a = 200
foo() //100,a重新赋值无效,因为调用的是函数内部中的a函数作为参数
function print(func) {let a = 200func()
}
let a = 100
function fn() {console.log(a);
}
print(fn) //100,调用的是变量声明地方的a

闭包

将函数作用域内的变量暴露到函数外部,当函数作用域被延长时,闭包就产生了
闭包的模式:函数模式的闭包,对象模式的闭包
闭包优缺点:优点是缓存数据,缺点是没有及时释放内存

闭包作用

缓存数据,延长作用域链,在函数外部读取函数中的变量,让局部变量生存在内存当中,避免被垃圾回收机制杀死。

闭包原理

函数的每次调用,都会开辟一个空间,在函数执行完毕后,就销毁空间,函数里面的变量没有被再次使用,也因此被销毁了,如果环境(空间)里的变量被使用,就不会被删除,只有延长作用域,环境里的变量才能被外部使用。

例子

函数模式的闭包
function fn() {var num = 10function f2() {console.log(num)}f2()
}
fn()//10对象模式的闭包:函数中有一个对象,对象使用了函数中的值
function f1(){var num = 10var obj = {age:num}console.log(obj.age)
}
f1()//10function f2(){var num = 20return {age:num}
}
let obj = f2()
console.log(obj.age) //20数据被缓存的列子
function f3(){var num = 10return function(){num++return num}
}
let fn = f3() //返回的函数
console.log(fn()) //11
console.log(fn()) //12
console.log(fn()) //13
总结:如果想要缓存数据,就把这个数据放在外层函数和里层函数的中间,然后把里层函数返回,在外部执行小例子:产生相同的随机数
function fn() {var num = parseInt(Math.random() * 10 + 1)return function () {console.log(num)}
}
let ff = fn()
ff()
ff()
ff()

this指向

this:属性和方法所属,归谁管

1.全局执行上下文中的this:指向window
2.普通函数的this(谁调用就指向谁,一般情况指向window/document)
3.严格模式的thisundefined
4.定时器方法中的this指向window
5.闭包中的this指向window6.构造函数中的this指向实例对象
7.原型方法中的this指向实例对象8.普通对象.方法中的this指向当前对象
9.嵌套函数中的this指向window
10.箭头函数的this指向当前函数所在的作用域
普通函数:谁调用就指向谁
function fn(){console.log(this)
}
fn() //window
window.fn()  //实际是这样严格模式的this
"use strict" 
function fn(){console.log(this)
}
fn() //undefined
window.fn() //windowwindow.onclick = function () {console.log(this) //指向window
}document.onclick = function(){console.log(this)//指向document
}箭头函数:指向其定义/声明时所在的作用域
document.onclick = () =>{console.log(this) //指向window
}
document.onclick = function(){let fn = () => {console.log(this)}fn() //指向document,因为外面的function的作用域是document,所以指向document
}window.onclick = function(){let fn1 = () => {console.log(this)}fn1() //指向window 因为外面的function的作用域是window,所以指向window
}定时器方法中的this指向window
setInterval(function(){console.log(this) //window
},1000)构造函数中的this指向实例对象
原型方法中的this指向实例对象
function Person(){console.log(this) //和per是一样的this.sayHi = function(){console.log(this)}
}
Person.prototype.eat = function(){console.log(this)
}let per = new Person()
console.log(per) //两者一样per.sayHi() //实例对象
per.eat() //实例对象对象.方法中的this指向实例对象
let obj = {name: 'litao',say: function () {console.log(this.name)function xxx() {console.log(this)  //window}xxx()},
}
obj.say()嵌套函数中的this指向window
//解决方法:
1.把forEach的回调变成箭头函数
2.在forEach的回调后,加上第二个参数this
3.let self = this,把console中的this变成self
4.使用call,apply, bind改变指向const video = {title:'a',tags:['a','b','c'],问题:this指向windowshowTags() {this.tags.forEach(function (tag) {console.log(this)   //windowconsole.log(this.title, tag)  //undefined,因为这时this是window的})},解决方法1:直接使用箭头函数showTags() {this.tags.forEach((tag) => {console.log(this)console.log(this.title, tag)})}解决方法2:在forEach的回调后,加上第二个参数thisshowTags() {this.tags.forEach(function (tag) {console.log(this) console.log(this.title, tag)}, this)},解决方法3let self = this,把console中的this变成selfshowTags() {let self = thisthis.tags.forEach((tag) => {console.log(self)console.log(self.title, tag)})}解决方法4:使用bind改变forEach的this指向showTags() {this.tags.forEach(function (tag) {console.log(this)console.log(this.title, tag) }.bind(this))},  
}
video.showTags()

改变this指向

apply和call方法的作用:改变this的指向,借用别人的能力

apply和call方法属于谁的:自身能力不够,把爷爷/别人的秘法拿出来解决问题

骚后补上

同名参数

1,当函数出现同名的参数时,是保留最后一个行参的值。
function fn(a,a){console.log(a); //20return a + a
}
console.log(fn(10,20)) //402,当实参的个数小于行参的个数,则最后一个形参的值是undefined
function fn(a,b){console.log(a);//10console.log(b);//undefinedreturn a + b
}
console.log(fn(10)) //10 + undefined = NaN 

不定参arguments

arguments对象包含了函数【运行时】的所有参数

不传形参也能拿到实参,前提是调用的时候传了实参

注意:

  • 此对象非常类似于数组,是集合而非数组
  • 箭头函数没有arguments
箭头函数
let fn = () => {console.log(arguments)
}
fn(1,2,3)//报错,arguments is not defined普通函数
let fn = function(){ //没有形参console.log(arguments)
}
fn(1,2,3)// arguments数组[1,2,3]

函数成员

function fn(x, y){console.log(fn.name)      //函数的名字,在这里是fn,只可读不可改console.log(fn.arguments) //函数中实参的个数console.log(fn.length)    //函数中形参的个数console.log(fn.caller)    //调用者,哪个函数调用了fn函数,没有是null
}
fn() //自动调用自己

递归

在函数中,函数调用自己,这就是递归

递归一定要有结束的条件,考虑2层和考虑返回的时机

执行上下文堆栈,后进先出,递归深度等于堆栈中上下文的最大数量

例子:求N个数字的和平常做法:1+2+3+4+5
var sum = 0
for (let i = 1; i <= 5; i++) {sum += iconsole.log(sum) //15递归实现:5+4+3+2+1
function fn(x){if(x === 1){return 1}return x + fn(x - 1)
}
console.log(fn(5)) //155进来,x !== 15 + (5 - 1 = 4) + 然后调用自身,把4传进去(4 - 1 = 3)...直到x = 1,返回1,然后逐层相加:5 + 4 + 3 + 2 + 1简写:
function add(num){return num === 1 ? 1 : (num + add(--num))
}
let ret = add(5)  //15

例子:计算公司员工薪资

let company = {sales: [{name: 'John', salary: 1000}, {name: 'Alice', salary: 1600 }],development: {sites: [{name: 'Peter', salary: 2000}, {name: 'Alex', salary: 1800 }],internals: [{name: 'Jack', salary: 1300}]}
};function sumSalaries(department) {if (Array.isArray(department)) { //如果是数组,就计算结果return department.reduce((prev, current) => prev + current.salary, 0); // 求数组的和} else { //如果是对象,再继续递归let sum = 0;//subdep代表该对象的每一项for (let subdep of Object.values(department)) {sum += sumSalaries(subdep); // 递归调用所有子部门,对结果求和}return sum;}
}
alert(sumSalaries(company)); // 7700

沙箱

小环境,黑盒,独立环境,与外部定义的变量不冲突,在一个虚拟的环境中模拟真实世界,做试验,试验结果不会影响真实世界

写法一:
(function(){var num = 10console.log(num + 10)
})()写法二:
var = 100
(function(){var num = 20console.log(num) //20
}())
console.log(num) //100写法三:
{}

学习更多

JS学习地图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-2909.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

python的matplotlib的常用绘图函数模版

import matplotlib.pyplot as plt # from mpl_toolkits.mplot3d import Axes3D import matplotlib as mpl import numpy as np import pandas as pd import time plt.rcParams[font.sans-serif][simhei]#用于正常显示中文标签 plt.rcParams[axes.unicode_minus]False#用于正常显…...

写给互联网大厂员工的真心话,面试必问

越来越多的人在提“移动端的下半场”、“Android 开发的焦虑”之类的&#xff0c;也有人在喊“技术天天在变&#xff0c;学也学不完”&#xff0c;“昨天 Kotlin 今天 Flutter”。其实我却认为&#xff0c;如果你技术达到了一定程度&#xff0c;你无需太过在意这些。 移动端真…...

【Laravel3.0.0源码阅读分析】会话驱动类driver.php

<?php namespace Laravel\Session\Drivers;interface Driver {/*** Load a session from storage by a given ID.* 通过给定的ID从存储加载会话。* If no session is found for the ID, null will be returned.** param string $id* return array*/public function load(…...

pytorch代码学习1

这篇文章所写的内容主要是基于Context-Aware_Crowd_Counting-pytorch 的代码写的 1.在深度学习领域&#xff0c;会训练出一个模型&#xff0c;在使用训练好的模型时&#xff0c;其中有一种保存的模型文件格式叫.npy 2.os.path.join()函数&#xff1a;连接两个或更多的路径名组…...

Python 模块导入 import ...\from... import...

代码越来越多的时候&#xff0c;我们将代码写到一个.py 文件里&#xff0c;随着代码的增加&#xff0c;代码的维护越来越困难。如果将代码按照不同的功能拆分放到不同的.py文件中&#xff0c;每个.py文件就是一个模块。 不同模块中的变量名可以相同&#xff0c;他们不会受影响…...

盘点golang中的开发神器

本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star。 在Java中&#xff0c;我们用Junit做单元测试&#xff0c;用JMH做性能基准测试&#xff08;benchmark&#xff09;&#xff0c;用async-profiler剖析cpu性能&#xff0c;用jstack、jmap、arthas等来排查问题。 作…...

监控系统实践第12天:5天上手Laravel8.5之路由篇(1/5)

监控系统实践第12天&#xff1a;5天上手Laravel8.5之路由篇&#xff08;1/5&#xff09;前言安装与配置Laravel基础功能&#xff1a;路由(Route)路由是什么&#xff1f;设置路由的请求方式定义路由的路径定义路由的内容闭包中定义内容控制器中定义内容视图中定义内容其它内容的…...

学习响应式BootStrap来写融职教育网站,Bootsrtap第三天nav布局

nav导航布局 <!DOCTYPE html> <html lang"zh_CN"> <head><meta charset"UTF-8"><title>融职教育</title><!-- 移动设备优先--><meta name"viewport" content"widthdevice-width, initial…...

前端常见跨域解决方案(全)

文章目录什么是跨域&#xff1f;什么是同源策略&#xff1f;同源策略限制以下几种行为常见跨域场景跨域解决方案一、 通过jsonp跨域二、 document.domain iframe跨域三、 location.hash iframe跨域四、 window.name iframe跨域五、 postMessage跨域六、 跨域资源共享&#x…...

不是吧!连Linux都不会你还想月入过W(入门基础篇)

目录 一、Linux概览 二、Linux安装 三、Linux文件管理 四、Linux基本命令 五、Linux高级命令 六、vim编辑器 七、用户和用户组管理 八、权限管理 一、Linux概览 Linux是什么&#xff1f; Linux和我们常见的Windows一样&#xff0c;都是操作系统。 Linux能做什么&…...

因为一个字符校对问题,我的大厂面试挂了

摘要&#xff1a;字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。 本文分享自华为云社区《一个字符校对规则引发的血案》&#xff0c;原文作者&#xff1a;DRS技术快客 。 问题现场 我们先看一个建表语句 CREATE TABLE collate_test ( val1 char(32…...

AndroidUtilCode 最强大的工具类

一、前言&#xff1a; AndroidUtilCode 是一个强大易用的安卓工具类库&#xff0c;它合理地封装了安卓开发中常用的函数&#xff0c;具有完善的 Demo 和单元测试&#xff0c;利用其封装好的 APIs 可以大大提高开发效率&#xff0c;如今它主要包括两部分模块&#xff0c;其一是…...

SVN常用命令集合_艾孜尔江撰

在平时的工作中我们大多数情况下喜欢使用Tortoise SVN之类的可视化版本控制工具&#xff0c;但笔者发现&#xff0c;命令行的方式进行版本控制在执行速度上将会更快一些。尽管在大多数情况下使用命令行并不是很方便&#xff0c;但只要用户习惯了&#xff0c;就非常顺畅了。针对…...

【leetcode游记】竞赛题 1877

数组中最大数对和的最小值。 这道题&#xff0c;老实说光看懂我就看了很久。论刷题的重要性。 总结为&#xff1a;排序题 题目链接&#xff1a; https://leetcode-cn.com/problems/minimize-maximum-pair-sum-in-array/ 数对和&#xff0c;就是两个数相加。 两个数相加的值要…...

什么样才能叫“技术很牛”?

近日&#xff0c;在某论坛上&#xff0c;有人提出了“一直不懂一个问题&#xff0c;什么叫‘技术很牛’&#xff1f;”的问题。详细提问称“说实话&#xff0c;我从本科到硕士&#xff0c;我觉得计算机的技术很多都是看看就会了&#xff0c;多操练下就熟了。可能有些设计问题需…...

金三银四大厂面经总结,java怎么快速创建构造方法

前言 Java作为最全面的语言&#xff0c;国内开发者也是最多的&#xff0c;Java综合起来各方面都不错&#xff0c;在大部分场景下是一种稳健的技术选择。加上近年来安卓的推动&#xff0c;目前也是最流行的一种语言。 现在Java的就业市场看起来还是挺大的&#xff0c;而且工资…...

【学习笔记】Java 8函数式编程#Lambda表达式#方法引用

全文目录函数式编程&#xff1a;Functional programming函数式编程的一些基本概念函数式编程的定义&#xff1a;程序的副作用&#xff1a;函数编程与数学函数&#xff1a;设计函数式编程应该遵循的原则&#xff1a;First-Class and Higher-Order Functions纯函数不变性引用透明…...

单线程+异步I/O的编程模型:协程

现代操作系统对I/O操作的改进中最为重要的就是支持异步I/O。如果充分利用操作系统提供的异步I/O支持&#xff0c;就可以用单进程单线程模型来执行多任务&#xff0c;这种全新的模型称为事件驱动模型。Nginx就是支持异步I/O的Web服务器&#xff0c;它在单核CPU上采用单进程模型就…...

Git一个项目中引用其他Git仓库

// git submodule add [git地址] [目录位置] $ git submodule add https://xxx/gittest.git src/gittest使用submodule后 在当前git目录下会生成一个 .gitmodules 文件 如果但当前目录已经存在了一个 .gitmodules&#xff0c;命令需要更改为 $ git submodule add -f https://…...

2021.6.1

链接查询 连接查询可分为内连接和外连接。 一.内连接&#xff1a;内连接分3种&#xff1a;交叉连接、相等连接、自然连接。 1.内连接语法&#xff1a; 1.交叉连接&#xff1a; 交叉链接又称“笛卡尔链接”&#xff0c;即所有类型的内连接的基础 语法 select * from table…...

QT安装和配置Visualstudio环境

QT 安装下载下载 windows下载有两种方式&#xff0c; source code自己编译exe文件&#xff0c;exe文件又分为online和offline。QT 5.12可以offline&#xff0c;然而最新的QT6.1只有online安装包了。 Sourcecode没有尝试过&#xff0c; 建议下载安装版。 这里给两个下载地址&…...

第一个springboot程序

HelloWorld 微服务其实就是一种架构风格&#xff0c;MVC也是一种架构风格SpringBoot的主要思想就是自动装配&#xff0c;环境都给搭建好&#xff0c;一键生成 下面来开始入门吧 1&#xff0c;创建项目 红色为我们可以填的&#xff0c;填完会生成一个有包结构的项目&#xff…...

23种设计模式-java-观察者

模式概述&#xff1a; 允许你定义一种订阅机制&#xff0c; 可在对象事件发生时通知多个 “观察” 该对象的其他对象。 使用场景&#xff1a; 当一个对象状态的改变需要改变其他对象&#xff0c; 或实际对象是事先未知的或动态变化的时&#xff0c; 可使用观察者模式。当应用…...

【Numpy从青铜到王者】第一篇

大家好我是J哥&#xff0c;今天我们学习numpy&#xff08;还会继续跟新&#xff09;&#xff1a; numpy是python 数据分析大家族成员之一&#xff1a; numpy 是数据结构基础 废话不多说&#xff0c;直接代码演示&#xff1a; import numpy as np from numpy.linalg import …...

手撕JS面试题大全一

冒泡排序 /* 两两比较 */ function bubleSort(arr) {var len arr.lengthfor (let outer len; outer > 2; outer--) {for (let inner 0; inner < outer - 1; inner) {if (arr[inner] > arr[inner 1]) {[arr[inner], arr[inner 1]] [arr[inner 1], arr[inner]]}}…...

无基础也可以了解,NVIC中断优先级分组

STM32f103系列具有60个可屏蔽的中断&#xff0c;数量较多&#xff0c;所以需要对中断进行管理。 STM32可以将中断分为5组&#xff0c;如下表。 组号分配结果00位抢占优先级&#xff0c;4位相应优先级11位抢占优先级&#xff0c;3位相应优先级22位抢占优先级&#xff0c;2位相…...

基于51单片机的温度报警系统

目录 前言 一、温控系统是什么&#xff1f; 二、设计目的 1.环境需求 2.设计基础 三、设计 1.C51程序设计 2.Proteus仿真 &#xff08;1&#xff09;.元器件如下 &#xff08;2&#xff09;.原理图。 总结 前言 微型计算器自20世纪70年代诞生以来&#xff0c;得以迅…...

QT大作业:学生管理系统(通过mysql数据库)

一、前言 学校实验室进行第二轮考核&#xff0c;第二次qt作业是学生管理系统。 要求如下&#xff1a; 1、连接数据库&#xff0c;对学生信息进行增删改查操作&#xff0c;可以使用qt的SQLITE&#xff0c;但大家需自行学习sql语句的语法才能实现相关功能&#xff08;建议使用MY…...

程序员如何快速成长

如何快速成长 每个程序员都是从菜鸟成长过来&#xff0c;我自己也不例外。以下是我个人一些总结和结合网上别人的经验&#xff0c;希望对大家有帮助&#xff01; 主动学习 保持危机感 35岁后你能做什么&#xff1f;为何同龄人已经是行业专家&#xff1f; 对知识保持好奇心 多…...

【MyBatis详解】——从Xml配置解析到SQL执行过程

目录整体架构与使用DemoMybatis核心流程1. 创建SqlSessionFactory配置解析——SQL解析&#xff08;存储MappedStatement到Configuration中&#xff09;SqlNodeMappedStatementSqlSourceBoundSql2. 创建SqlSessionSqlSessionExecutor3. 获取Mapper4. 通过Mapper接口调用CRUD方法…...

计算机怎么关闭开机自启应用,如何关闭电脑开机自动启动的软件程序

如何关闭电脑开机自动启动的软件程序我们在电脑中安装软件的时候&#xff0c;不小心设置了开机启动&#xff0c;该怎么取消呢&#xff1f;今天就跟大家介绍一下如何关闭电脑开机自动启动的软件程序的具体操作步骤。1. 首先打开电脑&#xff0c;找到桌面上的【360安全卫士】软件…...

计算机应用软件开机自动启动设置,电脑开机软件自动启动怎么关闭 win7/win10快速关闭开机自启软件...

电脑开机软件自动启动怎么关闭&#xff1f;电脑的开机速度除了和自身电脑的配置有关系外&#xff0c;还和电脑设置过得启动项有关系&#xff0c;如果想要电脑保持一个极佳的开机速度&#xff0c;最要的办法就是不要保留太多的开机启动项&#xff0c;那么Win10系统和win7系统怎么…...

【论文写作】毕业论文降重技巧

1 同义词来替代 这里要强调一点&#xff0c;现在市面上有很多公司开发出了自动降重的软件&#xff0c;建议大家不要用&#xff0c;因为它只会替换同义词&#xff0c;不具备人的思考能力&#xff0c;不懂什么前后逻辑关系&#xff0c;修改后的文章问题太多。 2 变主动为被动 …...

论文降重的主要内容有什么?

首先&#xff0c;一篇完整的论文主要包括 &#xff1a; 封面、陈述、中英文摘要、目录、主要符号 对照表 、正文、致谢、参考文献、附录、原文及授权用途、简历、导师介绍、研究期间发表的学术论文等。正文由一般原则、引文、摘要、章节、摘要等组成。一篇论文有这么多部分&…...

分享几点论文降重的方法(干货)

汤圆经过了解分析&#xff0c;也给大家总结了一下毕业论文降重的办法&#xff0c;大家也可以试试噢&#xff01; ①首先要更改的相似度50%的橙色句子&#xff0c;因为这种句子只要稍微修改几个字既可以变成绿色了&#xff0c;在降重过程中很受欢迎的&#xff0c;大家都想把他变…...

临近毕业,查降重来了

又到了一年的毕业季&#xff0c;很多同学对自己毕业设计项目信心满满&#xff0c;但到了论文查重和降重就开始苦恼了。不用担心&#xff0c;接下来的方法觉得对毕业生有很大的帮助~ 查重 答辩前学校会组织查重&#xff0c;很多学校都有指定的查重系统&#xff0c;我们学校是知网…...

论文检测和降重步骤

毕业论文检测是什么&#xff1f;其实就是一个匹配的过程&#xff0c;将你的论文的每个字与检测系统的数据库对比&#xff0c;当软件检测到连续一定字数相同时&#xff0c;就很容易判定雷同了。例如&#xff0c;PaperQuery查重的运作模式是将论文电子版输入电子数据库&#xff0…...

运动耳机什么牌子的好,推荐几款排行靠前的耳机

骨传导耳机近些年在耳机界迅速燃起&#xff0c;其设计原理是由贝多芬含棍棒发声所启发&#xff0c;而佩戴骨传导耳机主要是为了防止细菌在耳道内的滋生&#xff0c;除此之外骨传导耳机的佩戴方式也是直接将耳机套在头骨处即可完成佩戴&#xff0c;不用进入耳道&#xff0c;能够…...

[论文写作笔记] C11论文查重原理及降重

文章目录1、查重的必要性2、重复原因情形1&#xff1a;题目的核心要素类似&#xff0c;容易重复情形2&#xff1a;研究背景相似&#xff0c;模仿后容易重复情形3&#xff1a;综述当前研究成果情形4&#xff1a;相同或相似研究方法&#xff0c;易重复情形5&#xff1a;研究变量相…...

毕业论文的6中降重方法

论文”正逐渐演变成一个行业&#xff0c;尤其是清华推出论文检测后&#xff0c;想必在未来&#xff0c;高校对这论文查重的需求会越来越大。今天的小编辑做的很简单&#xff0c;就是教你如何降低重复率。 可以概括为&#xff1a;换词、换句、变描述(把原句改为倒句、被动句、主…...

大学生论文查重软件都有哪些?

纵观大学生论文写作的血泪史&#xff0c;你一定会发现写论文不难&#xff0c;难的是满足要求的重复率&#xff01;每次在写论文的时候&#xff0c;一到重复率检测的时候&#xff0c;好多同学都是苦不堪言。这个时候拥有一个好用的查重软件至关重要。 在这里要提醒各位学弟学妹…...

数学建模5 代码论文降重 Excel表处理数据

代码降重 1&#xff09;在代码中加入自己的注释 2&#xff09;替换变量名&#xff0c;a->jude 3&#xff09;代码中英文使用很小的字母&#xff0c;再颜色透明化&#xff08;慎用&#xff09; 文章降重 1&#xff09;模型介绍&#xff0c;优缺点等网上容易查到的内容自己…...

论文查重算法 python_论文查重降重绝密方法

论文查重降重绝密方法学霸心得亲测有效降重100%今天教大家几招论文降重的 超级小技巧&#xff0c;亲测真的有用❗大学生必备❗在你查重率超高的时候拉你一把&#xff0c;学霸学渣都适用哈哈干货快收藏&#xff01;⭕降重小技巧首先大家要知道&#xff0c;查重系统没有那么智能&…...

论文降重的技巧(一顿操作猛如虎-一看查重35%)

论文改重的技巧 免费的论文查重不推荐大家使用&#xff0c;像paperCCB&#xff0c;我修改完后一查35%&#xff0c;吓我一跳。它的查重算法不一样&#xff0c;条件要高一些&#xff0c;安全性上可能无法得到保证&#xff0c;可以使用万方&#xff0c;或者paperTime等查重系统&a…...

论文机器降重有用吗

论文机器降重有用吗&#xff1f;小编今天跟大家来说下怎么用&#xff0c;说到智能消除重复能否达到期望值&#xff0c;很明显大家都希望自己的文章一次性达到文章查重标准。于是人们就有了这样美好的憧憬&#xff0c;无论是开头写文章的时候&#xff0c;还是文章查重后需要修改…...

12306订票候补是个坑_12306实现自动抢票了,候补购票功能在哪里,怎么用?

2019年春运火车票已于2018年12月23日正式开售&#xff0c;你在为一年一度的抢票大战感到慌张吗&#xff1f;以往每到春运期间&#xff0c;网络上总会出现很多抢票软件&#xff0c;这些抢票工具有真有假难以辨认。今年12306官方推出了“候补购票”功能&#xff0c;可说是官方版本…...

12306分流抢票软件 v1.13.21官方版 -抢票神器

软件介绍&#xff1a; 分流抢票&#xff0c;是以用户为中心、人性化的抢票软件。不做广告、不做推广、不携带病毒、不收集隐私信息&#xff0c;并接受各方技术评测&#xff0c;全心全意为用户打造一款属于自己的抢票软件&#xff01;12306分流抢票器是能够提供给用户强大的自动…...

bug探索之路:List<Map>get取出元素却是String?

一、bug初现峥嵘 有一说一我定义的List<Map>对吧&#xff0c;我get(0)取出的元素也应该是Map类型没问题吧。不行&#xff0c;编译器告诉我&#xff0c;java.lang.String cannot be cast to java.util.Map。 这个意思就是说&#xff0c;你这个就是String类型&#xff0c;…...

python制作自动抢票_python自动抢票

# -*- coding: utf-8 -*-from splinter.browser import Browserfrom time import sleepimport traceback#初始化信息# 用户名&#xff0c;密码username u"用户名"passwd u"密码"# cookies值得自己去找starts u"杭州,HZH"ends u"黄石,HS…...

python 实现12306自动抢票

春节临近越来越多的人需要买火车票了&#xff0c;然而网上那些或分享抢票链接或加钱抢票的软件并不能确定帮自己买到票&#xff0c;既然如此为什么不能自己实现抢票呢&#xff1f;所以在借鉴网上大神的成果基础上&#xff0c;自己也实现了python实时抢票的功能&#xff0c;并且…...