一    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. WCF nginx反向代理遇到的问题

    正常配置了nginx反向代理,其他java站点什么的都正常,就wcf总是失败.始终会跑如下异常: 由于 AddressFilter 在 EndpointDispatcher 不匹配,To 为“http ...

  2. 有什么很好的软件是用 Qt 编写的?(尘中远)

    作者:尘中远链接:http://www.zhihu.com/question/19630324/answer/19365369来源:知乎 http://www.cnblogs.com/grandyan ...

  3. ML:吴恩达 机器学习 课程笔记(Week5~6)

    Neural Networks: Learning Advice for Applying Machine Learning Machine Learning System Design

  4. C语言宏定义##连接符和#符的使用(MFC就是靠##自动把消息和消息函数对应起来了,借助宏来减少switch case代码的编写量)

    C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念).下面对常遇到的宏的使用问题做了简单总结. 关于#和## 在C语言的宏中,#的功能是将其后面 ...

  5. 基于SAP HANA平台的多团队产品研发

    工欲善其事必先利其器.要提高多团队的开发效率,而且还是在SAP HANA平台上,建议大家还是本着“慢就是快”的原则,不要急功近利,在没有准备好团队开发的架构时就匆忙开始功能的开发.匆忙功能开发就算了, ...

  6. C# 中使用不安全代码(unsafe、指针)实践

    命题 根据指定的字符集合(字典),按排列组合的规则(允许重复),生成指定长度的所有字符串.如下代码: class Program { static void Main(string[] args) { ...

  7. Kafka Topic的详细信息 捎带主要的安装步骤

    1. 安装步骤 Kafka伪分布式安装的思路跟Zookeeper的伪分布式安装思路完全一样,不过比Zookeeper稍微简单些(不需要创建myid文件), 主要是针对每个Kafka服务器配置一个单独的 ...

  8. GCC链接库的一个坑:动态库存在却提示未定义动态库的函数

    背景 在GCC中已经指定链接库,然而编译时却提示动态库函数未定义! 测试出现的错误提示如下: [GMPY@13:48 tmp]$gcc -o test -L. -lmylib test.c /tmp/ ...

  9. kafka笔记1

    Kafka是一款基于发布和订阅的消息系统.一般被称为分布式提交日志或分布式流平台. Kafka系统是按照一定的顺序持久化保存的,可以按需读取. Kafka的数据单元被称为消息.类似于数据库中表的一行记 ...

  10. sql关联查询—将一个表的查询结果作为新表进行查询操作

    例题:#  各个部门中 最高工资中最低的那个部门的 最低工资是多少? 先考虑取得各个部门最高工资 SELECT MAX(salary) AS max_salary,e.`department_id` ...