一、对象冒充

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. 判断小端大端(C实现)

    C程序中的大端小端概念可以参见上一篇文章 如何区分小端和大端.本文重点讨论如何用C程序来判断当前系统是大端还是小端. 判断大端小端的程序如下: #include <stdio.h> int ...

  2. linux应用程序设计--GCC程序编译

    GCC程序编译 linux系统下的GCC(GNU C Compiler)是GNU推出的功能强大.性能优越的多平台编译器,是GNU的代表作之一.GCC可以在多种硬件平台上编译出可执行程序,其执行效率与一 ...

  3. 注入攻击-XSS攻击-CSRF攻击

    1.注入攻击 注入攻击包括系统命令注入,SQL注入,NoSQL注入,ORM注入等 1.1攻击原理 在编写SQL语句时,如果直接将用户传入的数据作为参数使用字符串拼接的方式插入到SQL查询中,那么攻击者 ...

  4. bulk更新mongodb的脚本

    bulk批处理mongodb,比普通的js脚本来的更快一些. 官方网址:https://docs.mongodb.com/manual/reference/method/Bulk/ bulk支持的方法 ...

  5. 脑裂是什么?Zookeeper是如何解决的?

    什么是脑裂 脑裂(split-brain)就是"大脑分裂",也就是本来一个"大脑"被拆分了两个或多个"大脑",我们都知道,如果一个人有多个大 ...

  6. 微信小程序踩坑日记2——实时访问数据库并渲染UI

    0. 引言 主要讲讲对于实时访问数据库并渲染UI我的解决方法. 一开始查到了随让小程序是单线程的,但是有一个基本上是封装的worker线程,相当于可以自己自定义(类似于Android开发里的handl ...

  7. 通过VS2017发布.net core程序并使用Web 部署到远程服务器最新教程

    最近一个项目中,为App开发后台接口,技术选型为最新 .net core版本,使用.net core开发web api接口过程中,为了方便app团队成员直接在线调用接口,找了公网上的一台服务器做为ap ...

  8. php 常用函数总汇

    php 使用命令行函数exec($sql,$result,$status); $sql 命令   $result  返回东西  $status成功与否的状态 例如: php使用命令行去执行数据库备份( ...

  9. python课堂整理1

      1.变量 变量只能由字母.数字.下划线组成 特例:1.变量不能用数字开头    2.不能是python的关键字 3.最好不要和python内置的东西重复 让变量名有意义 些 python3的关键字 ...

  10. Redis项目实战---应用及理论(二)---Redis集群原理

    一. Redis官方推荐集群方案:Redis Cluster 适用于redis3.0以后版本,        redis cluster 是redis官方提供的分布式解决方案,在3.0版本后推出的,有 ...