前端经常碰到的小知识点-----js篇
一 js
1.可视区宽和高
① document.documentElement.clientWidth //可视区的宽度
document.documentElement.clientHeight //可视区的高度
②100 vw //可视区的宽度
100 vh //可视区的高度
vw : 1vw 等于视口宽度的1%
vh : 1vh 等于视口高度的1%
2.正则表达式
正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串,将匹配的字串替换或者从某个串中取出符合某个条件的字串。、
使用途径:1.只要按规则模糊匹配多个关键词时2.只要按规则验证字符串是否符合要求
使用方式: 1. 只用正则直接量: var reg=/正则/ig; 2. 用new: var reg=new RegExp("正则","ig");
String中常用正则API:
检索:
1.查找一个固定关键词出现的位置
var i=str.indexOf("关键词",fromi)
var i=str.lastIndexOf("关键词",fromi)
2. 判断是否包含符合规则的关键词:
var i=str.search(/正则/i)
3. 获得所有关键词的内容:
var i=str.match(/正则/ig); 如果不加g: match也相当于search,但可获得关键词内容: [0:"关键词",index:i]
4. 即获得每个关键词的内容,又获得每个关键词的位置: reg.exec(str)
替换:
简写:将所有关键词替换为统一的替换值
str =str,replace(/正则/ig,'替换值')
高级:根据关键词的不同,替换不同的值
str = str.replace(/正则/ig,
function(kw,$1,$2,...){
return 根据kw判断返回不同替换值
)
删除:将关键词替换为 ‘’
切割: var subStrs =str.split(/正则/);
3.isNaN()
isNaN()函数用于检查其参数是否是非数字值。
isNaN(233); false
isNaN(ni); true
4.保留两位小数或取整
四舍五入:
1.var num =2.3362412322;
num = num.toFixed(2); // 输出结果为 2.34
不四舍五入:
2.Math.floor(15.66842340 * 100) / 100 // 输出结果为 15.66
3.Number(15.66842340.toString().match(/^\d+(?:\.\d{0,2})?/)) // 输出结果为 15.66
4.分享经典解决方法:

取整
parseInt(2.56789) //2
Math.ceil(2.567) //2
Math.ceil(2.56789) //3
Math.round(2.5678) //3
m^0
m|0
m>>>0
连接:
var newArr=arr1.concat(arr2);//将arr2拼接到arr1之后,返回新数组
注意: concat无权修改原数组,只能返回新数组,必须用变量接住拼接的结果。
concat中可以是任何类型的参数,可以是数组,数字,字符串
如果 .concat(值1,值2,arr2,....);,那么.concat可以打散数组类型的参数为单个值。
截取子数组:
var subArr=arr.slice(starti,endi+1);//截取arr中starti位置开始到endi位置结束的子数组。
注意: 含头不含尾,结束位置要+1
支持负数参数:表示倒数第n个位置,其实执行的还是length-n
如果省略第二个参数,表示从starti位置直接截取到结尾。
concat和slice都不可直接修改原数组,必须使用新变量接收
删除/插入/替换数组
splice: 删除,插入,替换
删除: arr.splice(starti,n)
删除arr中starti位置开始的n个元素
注意: n是个数,不考虑含头不含尾
splice可返回删除的元素组成的临时数组。
var deletes=arr.splice(starti,n)
插入: arr.splice(starti,0,值1,值2,...)
在arr的starti位置插入值1,值2,...,原starti位置及其之后的值,都被向后顺移
注意: 0 表示不删除,只插入新值
不支持打散数组类型参数,如果传入数组,会形成子数组
替换: var deletes=arr.splice(starti,n,值1,值2,...)
先删除starti位置开始的n个,再在starti位置插入值1,值2。
注意: 删除的元素个数,和插入新值得个数,不必一致。
conca和splicet:
concat: 优: 打散数组类型参数
缺: 只能拼接在开头或结尾
splice: 优: 可指定插入位置
缺: 不支持打散数组参数
前端经常碰到的小知识点-----js篇的更多相关文章
- web前端知识大纲:系列一 js篇
web前端庞大而复杂的知识体系的组成:html.css和 javascript 一.js 1.基础语法 Javascript 基础语法包括:变量声明.数据类型. ...
- 前端开发--面试题整理(JS篇)
1.截取字符串abcdace的acealert('abcdace'.substring(4)); 2.规避javascript多人开发函数重名问题命名空间封闭空间js模块化mvc(数据层.表现层.控制 ...
- 记录一些实用的小技巧-JS篇
1.16进制随机颜色 let color = '#'+Math.random().toString(16).slice(-6) 2.类型判断工具函数 function isType(target, t ...
- java基础 小知识点汇总篇
1.&和&& |和|| 的区别? a&b,会执行a,执行b ,得出结论 a&&b,会执行a,如果a false,则不执行b,直接返回false 2.Ma ...
- 前端微信小程序实战篇
电商底部导航栏的制作 我想大家对电商一定不陌生,一般电商的底部导航栏有以下几个首页.分类.购物车.个人中心. app.json是用来配置page路径以及导航栏属性的,那我们要做首页.分类.购物车.个人 ...
- js中关于value的一个小知识点(value既是属性也是变量)
今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" v ...
- Python之路番外(第二篇):PYTHON基本数据类型和小知识点
一.基础小知识点 1.如果一行代码过长,可以用续行符 \换行书写 例子 if (signal == "red") and \ (car == "moving") ...
- BAT及各大互联网公司2014前端笔试面试题:HTML/CSS篇
BAT及各大互联网公司2014前端笔试面试题:HTML/CSS篇 2014/08/03 · Web前端, 开发 · CSS, HTML, 技术面试 分享到: 188 MongoDB集群之分片技术应用 ...
- 面试题2:BAT及各大互联网公司2014前端笔试面试题:HTML/CSS篇
BAT及各大互联网公司2014前端笔试面试题:HTML/CSS篇 Html篇: 1.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? IE: trident内核 Firefox:gecko内 ...
随机推荐
- 深入理解Amazon Alexa Skill(一)
语音助手(Virtual Personal Assistants, VPA)是物联网智能家居中很火的一个领域,用户可以通过语言作为入口来控制家里各种各样的设备,而亚马逊的Alexa(echo,echo ...
- 【Gerrit】自动设置reviewer
gerrit 提供了一种代码review解决方案,但每次代码提交之后都要设置每个commit的code reviewer, 实在是痛苦. gerrit 在官方说明文档里面提供了解决方法,地址:http ...
- 【转】在C#中简单的科学计算,包括幂数,指数,对数,Math类
用Math类进行一些简单的科学计算,包括幂数,指数,对数等的计算: double m,n; m=Math.Exp(0.5); //自然对数e的0.5次方 n=Math.Exp(); //自然对数e的3 ...
- CRS-2800: Cannot start resource 'ora.asm' as it is already in the INTERMEDIATE state on server ‘RAC02’
在安装ORACLE RAC的Grid Infrastructure时,在节点1运行/u01/app/11.2.0/grid/root.sh正常,当在节点2运行/u01/app/11.2.0/grid/ ...
- 龙芯GO!龙芯平台上构建Go语言环境指南
龙芯软件生态系列——龙芯GO!龙芯平台上构建Go语言环境指南2016-07-05 龙芯中科1初识Go语言Go语言是Google公司于2009年正式推出的一款开源的编程语言,是由Robert Gries ...
- SGI地址模式: O32, N32和N64
背景 MIPS R10000芯片支持MIPS ABI.遵循这一标准的程序能够运行在遵循这一标准的任何处理器/系统上.目前,主要的支持者有SGI,西门子,Nixdof, Tandem, Pyramid, ...
- 一小部分机器学习算法小结: 优化算法、逻辑回归、支持向量机、决策树、集成算法、Word2Vec等
优化算法 先导知识:泰勒公式 \[ f(x)=\sum_{n=0}^{\infty}\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n \] 一阶泰勒展开: \[ f(x)\approx ...
- Ubuntu Linux服务器搭建SSL/TLS(https)(在StartSSL可以得到免费证书)
目录 1 生成公钥和私钥对 2 公钥提交到CA机构签发一个crt证书 3 配置证书链 4 在Apache里开启SSL支持并配置crt证书和私钥 5 配置HSTS (可选) 6 总结 首先SSL/TLS ...
- 条款10:令operator= 返回一个reference to *this
关于赋值,可以写成连锁形式: int x, y, z; x = y = z = 15; //赋值连锁形式 赋值采用右结合律,故上述赋值被解析为: x = (y = (z = 15)); 为了实现连锁赋 ...
- 32个Python爬虫项目让你一次吃到撑
整理了32个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快~O(∩_∩)O WechatSogou [1]- 微信公众 ...