一、对象冒充

function student(name,age){
		this.name = name;
		this.age = age;
		this.show = function(){
			console.log("name:"+name,"age:"+age);
		}
	}
	function teacher(name,age){
		this.teacher = student;
		this.teacher(name,age);
		delete this.teacher;
	}
	var ss = new teacher("xiaoming",22);
	ss.show();
	var dd = new student("xiaolan",20);
	dd.show();

  

二、判断当天是星期几

function getMyDay(date){
    var week;
    if(date.getDay()==0) week="周日";
    if(date.getDay()==1) week="周一";
    if(date.getDay()==2) week="周二";
    if(date.getDay()==3) week="周三";
    if(date.getDay()==4) week="周四";
    if(date.getDay()==5) week="周五";
    if(date.getDay()==6) week="周六";
    return week;
}
var w1 = getMyDay(new Date("2015-7-12"));

四、判断当前日期为当月第几周

//判断当前日期为当月第几周
 var getMonthWeek = function (a, b, c) {
     //a = d = 当前日期
     //b = 6 - w = 当前周的还有几天过完(不算今天)
     //a + b 的和在除以7 就是当天是当前月份的第几周
     var date = new Date(a, parseInt(b) - 1, c), w = date.getDay(), d = date.getDate();
     return Math.ceil((d + 6 - w) / 7);
 };

  

五、http请求带有多个参数的写法

CTSI.openWindow({width:500, height:430}, '编辑管理员', '/mts/user/ispLoginUserAdd.as?type=edit&id='+id+'&roleTypePwd='+roleType, null);

  追加:如何获取url中“?”符号后的字符串

function GetRequest() {
            var url = location.search; //获取url中"?"符后的字串
            var theRequest = new Object();
            if (url.indexOf("?") != -1) {
                var str = url.substr(1);
                strs = str.split("&");
                for(var i = 0; i < strs.length; i ++) {
                    theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
                }
            }
            return theRequest;
        }
        var urlData = GetRequest();

 

六、判断浏览器的版本

var  _uat = navigator.userAgent;
_uat.indexOf("MSIE 9.0")>0
_uat.indexOf("Firefox")>0

 if((navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE6.0" || navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE7.0" || navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE8.0" || navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE9.0" )|| (_uat.indexOf("Firefox")<0) || (_uat.indexOf("Chrome")<0))
    {
    alert("您的浏览器版本过低,请下载IE9以上版本");
    }

  

七、js处理字符串常用的方法

函数:split()
功能:使用一个指定的分隔符把一个字符串分割存储到数组
例子:
str=”jpg|bmp|gif|ico|png”;
arr=theString.split(”|”);
//arr是一个包含字符值”jpg”、”bmp”、”gif”、”ico”和”png”的数组

函数:Join()

功能:使用您选择的分隔符将一个数组合并为一个字符串
 
函数:substring()
功能:字符串截取,比如想从"MinidxSearchEngine”中得到"Minidx”就要用到substring(0,6)

函数:indexOf()

功能:返回字符串中匹配子串的第一个字符的下标
 
1.substring 方法

定义和用法
substring 方法用于提取字符串中介于两个指定下标之间的字符。

语法
stringObject.substring(start,stop)

参数 描述
start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

返回值
一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

说明
substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
如果 start 或 end 为负数,那么它将被替换为 0。

2.substr 方法

定义和用法
substr 方法用于返回一个从指定位置开始的指定长度的子字符串。

语法
stringObject.substr(start [, length ])

参数 描述
start 必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length 可选。在返回的子字符串中应包括的字符个数。

说明
如果 length 为 0 或负数,将返回一个空字符串。

如果没有指定该参数,则子字符串将延续到stringObject的最后。
八、数据取整
向上取整 Math.ceil(7/2)
向下取整  Math.floor(7/2)
四色五入 Math.round(7/2)
九、json.parse与json.stringify的区别
json.parse(str);
是将字符串转化成对象
比如:
var str  = '{"name":"cuihui","age":"20"}'  注:单引号放在{}外面,里面的属性用双引号括起来
JSON.parse(str);
解析后的结果:
object
name:"cuihui"
age:"20"
_proto_:Object
 
JSON.stringify()
是将对象转换成字符串
比如:
var a = {a:1,b:2}
结果:
JSON.stringify(a)
"{"a":1,"b":2}"
十、  /*事件冒泡*/

     function stopPropagation(e){
     if(e.stopPropagation){
         e.stopPropagation(); 
     }
     else{
          e.cancelBubble = true;
     }
 
}
$(document).bind('click',function(){
     
})
十、H5页面在安卓手机上出现页面下部分被顶上去的问题
1.var wHeight = window.innerHeight;   //获取初始可视窗口高度 
   window.addEventListener('resize', function(){       //监测窗口大小的变化事件 
   var hh = window.innerHeight;     //当前可视窗口高度 
   var viewTop = $(window).scrollTop();   //可视窗口高度顶部距离网页顶部的距离 
  if(wHeight > hh){           //可以作为虚拟键盘弹出事件 
        $(".content").animate({scrollTop:viewTop+100});    //调整可视页面的位置 
    }else{         //可以作为虚拟键盘关闭事件 
        $("content").animate({scrollTop:viewTop-100}); 
    } 
    wHeight = hh; 
}); 
2.改变页面下部分分的样式css:z-index:-1;
十一、js地图接口
<script src="url"></script>
<script>
    var map = new BMap.Map("allmap");  //创建Map实例
     map.centerAndZoom(new BMap.Point(     ,      ),  );//初始化地图,设置中心点坐标和地图级别
     map.addControl(new BMap.MapTypeControl());//添加地图类型控件
     map.setCurrentCity("北京");//设置地图显示的城市 此项是必须设置的
     map.enableScrollWheelZoom(true);//开启鼠标轮滚缩放
</script>
十二、请求url编码
十三、对象数组去重
var hash = {};
activeJsonData = activeJsonData.reduce(function(item, next) {
    hash[next.key] ? '' : hash[next.key] = true && item.push(next);
    return item
}, []);

  

十四、load和domcontentloaded事件区别

load事件是window对象上的事件。指的是网页资源已经加载完毕(包括但不限于DOM、图片、音频、脚本、插件资源以及css)
DOMContentLoaded事件是document对象上的事件。指的是DOM已经加载完毕。IE中有一个私有的事件onreadystatechange事件跟这个标准事件类似。
DOMContentLoaded事件都会比load事件提前触发
十五、DOM文档加载的步骤为

(1)、解析HTML结构
(2)、加载外部脚本和样式表文件
(3)、解析并执行脚本代码
(4)、DOM树构建完成   //此步就是DOMContentLoaded
(5)、加载图片等外部文件
(6)、页面加载完毕 //load
十六、

1.四舍五入
Math.round(a/b);
2.时间类型的转化
var timeDate ="2017-05-02";
var newStr = timeDate.replace(/-/g,'/');  //将2017-05-02转换成2017/05/02
var newDate = new Date(newStr) ;  //将字符串的时间转换成日期型的时间
var getYear = newDate.getFullYear(); // 获取年份
var getMonth = newDate.getMonth()+1; //获取月份
var getDate = newDate.getDate(); //获取日期
var getHours = newDate.getHours();//获取小时
var getMinutes = newDate.getMinutes(); //获取分钟
var getSeconds = newDate.getSeconds(); //获取秒
var getMilliseconds = newDate.getMilliseconds(); // 获取毫秒
var getTime = newDate.getTime(); //获取时间戳
 
3.倒计时
setInterval("倒计时的方法",时间间隔);
4.日期的下一天
var nextDay = new Date((curDate/1000+86400)*1000);
5.日期格式的转变
var str = 'Mon May 16 2016 18:48:34 GMT+0800 (中国标准时间)';
str = str.replace(/ GMT.+$/, '');
 十七、便捷改变对象的字段名称
var newObj = Json.parse(Json.stringify(obj).replace(/address/g,"mapDesc");
//obj --要改变的对象
//address --字段的旧名称
//mapDesc ---新的字段名
十八、js截取字符串最后一位
var str = "hello world";
str = str.substr(0,str.length-1);
 
 
 
 

前端小知识-js的更多相关文章

  1. 自定义博客cnblogs样式的必备前端小知识——js、jq

    JQ.JS相关小知识 任意元素自动点击 $(".editicon").trigger('click') 添加子元素 append() - 在被选元素的结尾插入内容 prepend( ...

  2. 自定义博客cnblogs样式的必备前端小知识——css

    css样式相关小知识 文字超出一行显示省略号 overflow: hidden; /*自动隐藏文字*/ text-overflow: ellipsis; /*文字隐藏后添加省略号*/ white-sp ...

  3. web前端小知识 —— 【HTML,CSS,JS】集锦 【第一期】 { }

    1.获取元素样式属性的方法 第 一 种 : 较灵活,能获取传进来想获取的元素的样式属性,返回的是[字符串] function getStyle(obj, name) { // IE // 主流 ret ...

  4. 前端小知识(转载http://www.cnblogs.com/Wayou/p/things_you_dont_know_about_frontend.html)

    前端已经被玩儿坏了!像console.log()可以向控制台输出图片等炫酷的玩意已经不是什么新闻了,像用||操作符给变量赋默认值也是人尽皆知的旧闻了,今天看到Quora上一个帖子,瞬间又GET了好多前 ...

  5. 前端小课堂 js:what is the function?

    js 函数: 概念:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. 说白了就是响应用户操作所执行的代码,通过js事件触发,然后调用执行函数里代码的操作. 比如常见的用户点击事件,用户点击 ...

  6. 前端小知识-css3

    一.实现图片倒影 如图: css属性 .style{ -webkit-box-reflect:below 0 linear-gradient(transparent,white 50% ,white) ...

  7. 前端小知识-html5

    一.伪类与伪元素 为什么css要引入伪元素和伪类:是为了格式化文档树以外的信息,也就是说,伪类和伪元素是用来修饰不在文档树中的部分 伪类用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根 ...

  8. 前端小课堂 js:函数的创建方式及区别

    js 函数的创建大体有这几种方式: -1-函数表达式(函数字面量): 说白了就是把一个函数赋值给了一个变量. var fun1 = function(index){ alert(index); } f ...

  9. 前端小程序——js+canvas 给图片添加水印

    市场上各种各样的图片处理器有很多,那么作为程序员的我们是不是应该自己做一个呢?那就从加水印开始吧 html: <canvas id="shuiyinTest"> < ...

随机推荐

  1. 详叙BeanWrapper和PropertyDescriptor

    每篇一句 千古以来要饭的没有要早饭的,知道为什么吗? 相关阅读 [小家Spring]聊聊Spring中的数据转换:Converter.ConversionService.TypeConverter.P ...

  2. 个人永久性免费-Excel催化剂功能第69波-打造最专业易用的商务图表库,即点即用的高级Excel图表

    Excel很大一块细分领域是图表,数据分析的末端,数据展示环节,精美恰当的图表,能够为数据分析数据结论带来画龙点睛的一笔.Excel催化剂简单内置了图表库,利用已经做好的模板式的图表示例,可快速复制使 ...

  3. Java秒杀系统实战系列~整体业务流程介绍与数据库设计

    摘要: 本篇博文是“Java秒杀系统实战系列文章”的第三篇,本篇博文将主要介绍秒杀系统的整体业务流程,并根据相应的业务流程进行数据库设计,最终采用Mybatis逆向工程生成相应的实体类Entity.操 ...

  4. 用框架名唬人谁都会,那你知道Web开发模式吗?——莫问前程莫装逼

    前言:这两天总结了一些Servlet和JSP里面的知识,写了几篇博客,果然有种“温故而知新”的感觉,学完这些,继续前行,开始整合框架里的知识,框架虽好,可底层原理该掌握的也得掌握,防止以后做项目的时候 ...

  5. ironic+nova详解

    ironic+nova详解 说明: Openstack 的安装步骤省略,按照社区的文档即可搭建出一套相对稳定的使用环境.本文档基于Newton版本. 假设现在已经有一套可用的Newton环境, 以下的 ...

  6. el-upload自定义上传文件,并携带其余参数,且action不报错

    用el-upload组件自定义上传按钮,并携带其余参数,且必传参数action 不报错 <template> <el-col :span="6" :mode=&q ...

  7. .net持续集成sonarqube篇之 sonarqube与jenkins集成(插件模式)

    系列目录 Jenkins通过插件集成Sonarqube 通过上一节我们了解了如何配置以使jenkins ci环境中可以执行sonarqube构建,其实Sonarqube官方也提供了jenkins插件以 ...

  8. 基于Spark Grahpx+Neo4j 实现用户社群发现

    上一篇文章知识图谱在大数据中的应用我们介绍了知识图谱的一些概念和应用场景,今天我们就来看一个具体的应用案例了解下知识图谱的应用.用户增长对于一个APP的生存起到了至关重要的作用,没有持续的用户增长,再 ...

  9. react开发中的小细节

    目前开始使用react余遇到的问题还不是很多,但还是希望总结一下. react中的属性prop: 在react中组件的父子组件的通信是基于prop的,当然对于底层的东西不是特别了解,但可以说一说它的基 ...

  10. Maven安装和配置环境变量

    Maven配置 1.下载 下载maven 3.5.4 先到官网http://maven.apache.org/download.cgi 下载最新版本(目前是3.5.4 ),下载完成后,解压到某个目录( ...