一、对象冒充

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. freemarker实现单元格动态合并-行合并

    项目需求:项目中有个需求,需要将一些数据库中的数据根据需求导出,生成一个word,研究了一些技术,其中包括POI.freemaker,对比了一下实现过程及技术难度没最终使用了freemaker; 原始 ...

  2. YuniKorn 介绍

    一.YuniKorn 简介 YuniKorn 是一种轻量级的通用资源调度程序,适用于容器编排系统.它的创建是为了一方面在大规模,多租户环境中有效地实现各种工作负载的细粒度资源共享,另一方面可以动态地创 ...

  3. JAVA面试题 StringBuffer和StringBuilder的区别,从源码角度分析?

    面试官Q1:请问StringBuffer和StringBuilder有什么区别? 这是一个老生常谈的话题,笔者前几年每次面试都会被问到,作为基础面试题,被问到的概率百分之八九十.下面我们从面试需要答到 ...

  4. 个人永久性免费-Excel催化剂功能第93波-地图数据挖宝之两点距离的路径规划

    在日常手机端,网页端的向地图发出两点距离的行程规划,相信绝大多数人都有用到过,但毕竟是个体单一行为,若某些时候需要用到批量性的操作,就显得很不现实了,同时,数据只是在应用或网页内,非结构化的数据,也是 ...

  5. Java EE编程思想

    组件--容器 编程思想 组件:由程序员根据特定的业务需求编程实现. 容器:组件的运行环境,为组件提供必须的底层基础功能. 组件通过调用容器提供的标准服务来与外界交互,容器提供的标准服务有命名服务.数据 ...

  6. 解读Android MediaPlayer 详细使用方法

        MediaPlayer具有非常强大的功能,对音视频的播放均提供了支持,为了保证播放期间系统的正常工作,需要设置"android.permission.WAKE_LOCK"权 ...

  7. 第一篇博客 安装open live writer

    第一篇博客安装open live writer http://openlivewriter.org/ 有的人可能会打不开,所以我准备了一个百度云的链接地址 链接:https://pan.baidu.c ...

  8. hdu第十场Cyclic

    本题主要是对用容斥的使用,正难则反,对于要求满足题意的可以求不满足题意的 先考虑对于长度至少为2的连续序列,易得其排列C(n,1)*(n-2)!,意为从剩下n个数字中选取连续的两个. 方法总计为n,即 ...

  9. 解决axios接收二进制流文件乱码问题

    1. 须将axios 配置中的responseType设置为'arraybuffer',这样就不会让表格出现乱码现象: 2. 如果要动态设置文件名则需要让后台将名字设置到响应头中,否则将是一个乱码的文 ...

  10. Anaconda大法好,为什么要用Anaconda(附linux安装与用例)

    距离写上一个博客已经过去很久了,注册的时候我还是个大三学生抱着windows系统的visual studio在OPENCV等等复杂组件下面瑟瑟发抖,一不小心就担心hpp找不到了,依赖库没了,或者安装了 ...