一    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篇的更多相关文章

  1. web前端知识大纲:系列一 js篇

    web前端庞大而复杂的知识体系的组成:html.css和 javascript           一.js           1.基础语法 Javascript 基础语法包括:变量声明.数据类型. ...

  2. 前端开发--面试题整理(JS篇)

    1.截取字符串abcdace的acealert('abcdace'.substring(4)); 2.规避javascript多人开发函数重名问题命名空间封闭空间js模块化mvc(数据层.表现层.控制 ...

  3. 记录一些实用的小技巧-JS篇

    1.16进制随机颜色 let color = '#'+Math.random().toString(16).slice(-6) 2.类型判断工具函数 function isType(target, t ...

  4. java基础 小知识点汇总篇

    1.&和&& |和|| 的区别? a&b,会执行a,执行b ,得出结论 a&&b,会执行a,如果a false,则不执行b,直接返回false 2.Ma ...

  5. 前端微信小程序实战篇

    电商底部导航栏的制作 我想大家对电商一定不陌生,一般电商的底部导航栏有以下几个首页.分类.购物车.个人中心. app.json是用来配置page路径以及导航栏属性的,那我们要做首页.分类.购物车.个人 ...

  6. js中关于value的一个小知识点(value既是属性也是变量)

    今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" v ...

  7. Python之路番外(第二篇):PYTHON基本数据类型和小知识点

    一.基础小知识点 1.如果一行代码过长,可以用续行符 \换行书写 例子 if (signal == "red") and \ (car == "moving") ...

  8. BAT及各大互联网公司2014前端笔试面试题:HTML/CSS篇

    BAT及各大互联网公司2014前端笔试面试题:HTML/CSS篇 2014/08/03 · Web前端, 开发 · CSS, HTML, 技术面试 分享到: 188 MongoDB集群之分片技术应用 ...

  9. 面试题2:BAT及各大互联网公司2014前端笔试面试题:HTML/CSS篇

    BAT及各大互联网公司2014前端笔试面试题:HTML/CSS篇 Html篇: 1.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? IE: trident内核 Firefox:gecko内 ...

随机推荐

  1. Git 将子文件夹分离为一个新的库

    前面的需求 公司Android的项目上,想要将一些module抽取出来,作为一个可以被其它项目上使用的. 所以使用了git submodule的方案. 为了将代码库中的一个文件夹分离后,作为一个单独的 ...

  2. SpringBoot简易搭建

    1.建立maven工程 2.打开pom文件, 将以下配置拷贝过去 <parent> <groupId>org.springframework.boot</groupId& ...

  3. GIS基础软件及操作(二)

    原文 GIS基础软件及操作(二) 练习二.管理地理空间数据库 1.利用ArcCatalog 管理地理空间数据库 2.在ArcMap中编辑属性数据 第1步 启动 ArcCatalog 打开一个地理数据库 ...

  4. 【转】在C#中简单的科学计算,包括幂数,指数,对数,Math类

    用Math类进行一些简单的科学计算,包括幂数,指数,对数等的计算: double m,n; m=Math.Exp(0.5); //自然对数e的0.5次方 n=Math.Exp(); //自然对数e的3 ...

  5. How to setup Assigned Access in Windows 10 (Kiosk Mode) 设置分配的访问权限(Kiosk模式)

    Let’s say you’re building some sort of ingenious mechanical contraption to be displayed in public th ...

  6. QQ邮箱打败163邮箱的过程(重视用户体验的结果)

    引用 楼主 CKAOS 的回复: 目前负责一个项目,ASP.NET的,做一个网盘系统,别的都弄好了,只差一个下载文件夹的功能未实现,只能在服务器端打包成压缩文件,再发回浏览器.如何直接下载文件夹,不是 ...

  7. nginx(一) nginx详解

    nginx是一个被广泛使用的集群架构组件,我们有必要对它有足够的了解.下面将先认识nginx:包括应用场景.nginx基本架构.功能特性.并发模型以及配置说明,最后我们再总结下,为什么选择nginx的 ...

  8. Md2All:好用的markdown文件转换工具,文章迁移微信公众号的利器

    目录 简介 使用体验 极速上手 更多功能 总结 简介 markdown以简单的语法和强大的功能,征服了无数技术创作者,几乎主流的技术博客网站都开始支持markdown语言撰写博客.但是微信公众号的文章 ...

  9. Linux实战型企业运维工程师试题

    1.如何通过Linux配置一个局域网或者IDC机房上网网关,请给出步骤及命令?答:上网网关配置(1)开启内核转发:sed -i 's#net.ipv4.ip_forward = 0#net.ipv4. ...

  10. Tido c++线段树知识讲解(转载)

    线段树知识讲解 定义.建树.单点修改.区间查询         特别声明:如上的讲解说的是区间最大值 如果想要查询区间和 只需要改变一下建树和查询的代码就行了,如下 其他根据自己的需要进行修改即可