js

vscode生成react中js文件模板

北城余情 提交于 2020-02-06 18:21:59
1.在扩展应用中安装ES7 React/Redux/GraphQL/React-Native snippet 2.选择文件-->首选项-->设置(快捷键Ctr+,)在搜索框中输入language,选择Emmet,并在Emmet:include language下点击setting.json中编辑,添加 { "window.zoomLevel": 1, "explorer.confirmDelete": true, "emmet.includeLanguages":{ "javascript":"javascriptreact" }, "typescript.disableAutomaticTypeAcquisition": true } 4.rcc+tab键(官网地址 https://marketplace.visualstudio.com/items?itemName=dsznajder.es7-react-js-snippets ) 4. 3.文件-->首选项-->联机服务设置,然后搜索TypeScript: Disable Automatic Type Acquisition,将此项勾选上,这样就会有提示了 来源: CSDN 作者: xinxin_csdn 链接: https://blog.csdn.net/xinxin_csdn/article/details

腾讯前端一面总结

天大地大妈咪最大 提交于 2020-02-06 17:03:49
看到一片特别好的文章 原文作者:广工小成 https://segmentfault.com/a/1190000013654696 前言 腾讯一面,相比阿里一面来说,腾讯一面先给打电话预定时间,这也给了我们这些面试者去准备的时间。但是也正是因为这种确定性,也有在等待电话的时候的心情的忐忑。 背景 我是一名大三学生,大一在学校acm集训队,后来转向学习java,又去开发Android,在期间,学会怎么去解决一些编程遇到的问题以及灵活运用github。在大二寒假的时候,开始接触学习前端,如今已经一年了,一开始是做百度前端技术学院( http://ife.baidu.com/2016/task/all)的任务,学习了html和css,以及参考别人优秀的代码。 js是通过红宝石,js高级教程第三版开始入门学习的,这本书里面的基础知识很精髓,那时候我也很有耐心的去看完了,虽然说可能实践还是跟不上理论,因为后面做的项目基本都是用框架去做项目,而导致对于基础知识的实践比较少。 接下来,我们进入正题吧。 腾讯一面 首先,接到电话的时候,由于之前心情的忐忑,情绪还是有点兴奋的,以期待的口气向面试官问好,面试官也问问好之后就开始进入面试题了。 【你先简短的介绍一下自己】 在这里,我就简短的介绍了自己的学校专业,应聘的岗位,以及是怎么走向学习前端的道路,也就和我写的背景差不多。 【你是怎么学习前端的?】

JS中一些高阶函数

你说的曾经没有我的故事 提交于 2020-02-06 16:57:18
ES6中for in 与 for of的区别 举例如下:数组y[“abc”,“cde”] for x in y:x输出在y中的下标 0,1 for x of y :x输出在y中的对象 “abc”,“cde” JS一些高阶函数 1. filter(过滤) let newarray = Array.filter(function(n){ return n<100 }) (返回数组中所有小于100的数),注意这个函数内的返回值必须要是布尔值,根据布尔值在原数组基础上创建一个满足条件的新数组 2.map(映射) let newarray = Array.map(function(n){ return n*2 }) (将数组中所有数字乘以二之后放进新数组中),这个函数的返回值会存在新数组中 3.reduce(虽然说名字是减少,但是其实是加法) let newarray = Array.reduce(function(preValue,n){ return preValue+n },0) (在初始值的基础上将数组所有的值遍历相加),这个函数有两个参数,第一个参数是一个回调函数(回调函数内有两个参数,第一个是上一次运算结果的值,第二个参数是数组内遍历的每一个值),第二个参数是初始值 来源: CSDN 作者: 刘L洲 链接: https://blog.csdn.net/weixin

跨域与防止表单重复提交

为君一笑 提交于 2020-02-06 15:19:46
什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。 广义的跨域: 1.) 资源跳转: A链接、重定向、表单提交 2.) 资源嵌入: <link>、<script>、<img>、<frame>等dom标签,还有样式中background:url()、@font-face()等文件外链 3.) 脚本请求: js发起的ajax请求、dom和js对象的跨域操作等 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。 什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。 同源策略限制以下几种行为: 1.) Cookie、LocalStorage 和 IndexDB 无法读取 2.) DOM 和 Js对象无法获得 3.) AJAX 请求不能发送 常见跨域场景 URL 说明 是否允许通信 http://www.domain.com/a.js http://www.domain.com/b.js 同一域名,不同文件或路径 允许 http://www.domain.com/lab/c

js中字符串的常用方法

☆樱花仙子☆ 提交于 2020-02-06 13:45:55
一、普通方法 1.字符方法 动态方法:1、 str.charAt(index) ; 返回子字符串,index为字符串下标,index取值范围[0,str.length-1] 动态方法:2、 str.charCodeAt(index) ; 返回子字符串的unicode编码,index取值范围同上 静态方法:3、 String.fromCharCode(num1,num2,...,numN) ; 根据unicode编码返回字符串 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>字符方法</title> </head> <body> <script type="text/javascript"> /* charAt方法和charCodeAt方法都接收一个参数,基于0的字符位置 charAt方法是以单字符字符串的形式返回给定位置的那个字符 charCodeAt方法获取到的不是字符而是字符编码 */ var str="hello world"; console.log(str.charAt(1));//e console.log(str.charCodeAt(1));//101 //还可以使用方括号加数字索引来访问字符串中特定的字符 console.log(str[1]);//e </script>

js 字符串操作函数

社会主义新天地 提交于 2020-02-06 13:29:54
走进前端行业已有两年之久,对于字符串的操作也是家常便饭了,但也总在查查找找,如今对于我这个强迫症患者开始爆发了。 对字符串的操作做以下整理,废话不多说直接走起来。 1、字符串转换 字符串转换是最基础的要求和工作,你可以将任何类型的数据都转换为字符串,你可以用下面三种方法的任何一种: var num=24; var mystr=num.toString(); //"24" 你同样可以这么做: var num=24; var mystr=String(num); //"24" 或者,在简单点儿: var num=24; var mystr="" + num; //"24" 2、字符串分割 将字符串进行拆分返回一个新的数组,JavaScript就给我们提供了一个非常方便的函数: var mystr="qingchenghuwoguoxiansheng,woaishenghuo,woaiziji"; var arr1=mystr.split(","); //["qingchenghuwoguoxiansheng","woaishenghuo","woaiziji"]; var arr2=mystr.split(""); //["q","i","n","g","c","h","e","n","g","h","u","w","o","g","u","o","x","i","a","n","s"

js字符串方法汇总

徘徊边缘 提交于 2020-02-06 13:27:20
1、length方法 var stringObject=new String("hellow world"); console.log(stringObject.length);//12 2、字符方法charAt()、charCodeAt() 指定索引查找字符 这两个方法都接收一个参数 charAt():返回给定位置的那个字符 charCodeAt():返回指定位置的字符编码 var stringValue="hellow world"; console.log(stringValue.charAt(1));//e console.log(stringValue.charCodeAt(1));//101 3、字符串操作方法concat()、slice()、substr()、substring() concat():用于将一个或多个字符串拼接起来,返回拼接得到的新字符串 var stringValue="hellow world"; var result=stringValue.concat("hello"); var result2="hellow world"+"hello"; console.log(stringValue);//hellow world console.log(result);//hellow worldhello console.log(result2);/

vue数据双向绑定的原理

给你一囗甜甜゛ 提交于 2020-02-06 13:09:13
一、vue的实现原理 Vue.js采用ES5提供的属性特性功能,结合发布-订阅模式,通过Object.defineOrototype()为各个定义set、get特性方法,在数据发生变化时给订阅者发布消息,触发相应的监听回调。 具体步骤如下: 对需要观察的数据对象进行递归遍历,包括子属性对象的属性,设置set和get特性方法。当给这个对象的某个值赋值时,会触发绑定的set特性方法,于是就能监听到数据变化。 用complie解析模板指令,将模板中的变量替换成数据,然后初始化渲染页面视图,并将各个指令对应的节点绑定更新函数,添加监听数据的订阅者。一旦数据有变动,就会收到通知,并更新视图。 Watcher订阅者是Observer发布者和complie解析模板指令之间通信的桥梁,主要功能如下: 在自身实例化时像属性订阅器(Dep)里面添加自己; 自身必须有一个update()方法; 在dep.notice()发布通知时,能调用自身的update()方法,并触发complie中绑定的回调函数。 MVVM是数据绑定的入口,整合了Watcher、Observer、Complie三者,通过Observer来监听自己的model数据变化,通过Complie来解析模板指令,最终利用Watcher搭起Observer和Complie之间的通信桥梁,达到数据变化通知视图更新的的效果。利用视图交互

JS对象、包装类

梦想的初衷 提交于 2020-02-06 11:18:50
JS对象 对象的创建方法: 1 var Object = {} plainObject 对象字面量/对象直接量 2 构造函数(两种)大驼峰式命名规则 1)系统自带的构造函数 Object() new Object() 2)自定义 构造函数内部原理: 构造函数三段式 function Student(name,age,sex) { this.name = name; this.age = age; this.sex = sex; } 首先实现第一步隐式变化: 1在逻辑的顶端生成 var this = {} function Student(name,age,sex) { //var this = {}; this.name = name; this.age = age; this.sex = sex; } 2然后根据形式参数的个数对this 进行增加属性并赋值 那么这个函数的 AO 可以大致理解为: AO{ this:{name:'zhangsan' ,age:18,sex:'male' }; 3最后将这个return返回 function Student(name,age,sex) { 1//var this = { 2// name:"zhangsan", // age:18, // sex:"male" // }; this.name = name; this.age =

详解JS中Number()、parseInt()和parseFloat()的区别

允我心安 提交于 2020-02-06 11:00:10
转载: 详解JS中Number()、parseInt()和parseFloat()的区别 三者的作用: Number(): 可以用于任何数据类型转换成数值; parseInt()、parseFloat(): 专门用于把字符串转换成数值; 一、Number( ): (1)如果是Boolean值,true和false将分别转换为1和0。 (2)如果是数字值,只是简单的传入和返回。 (3)如果是null值,返回0。 (4)如果是undefined,返回NaN。 (5)如果是字符串,遵循下列规则: 如果字符串截去开头和结尾的空白字符后,不是纯数字字符串,那么最终返回结果为NaN。 如果是字符串中只包含数字(包括前面带正号或负号的情况),则将其转换为十进制数值,即“1”变成1,“123”会变成123,而“011”会变成11(前导的零被忽略了); 如果字符串中包含有效的浮点格式,如“1.1”,则将其转换为对应的浮点数值(同样也会忽略前导零); 如果字符串中包含有效的十六进制格式,例如”0xf”,则将其他转换为相同大小的十进制整数值; 如果字符串是空的(不包含任何字符),则将其转换为0; 如果字符串中包含除上述格式之外的字符,则将其他转换成NaN. (6)如果是对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换的结果是NaN,则调用的对象的toString()方法