一、对象冒充

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. CAD2014学习笔记-图层图案图块

    基于 虎课网huke88.com CAD教程 对象特性 选择对象点击特性栏/或右键点击特性 颜色:color 图层 线型:线的类型,如点状线.虚线等,若不改变则默认新建的线为该类型 线型比例:不同类型 ...

  2. JavaScript控制语句结构、函数部分

    HTML页面代码: <html> <head> <meta charset="UTF-8"> <title>HelloWorld&l ...

  3. Oracle将两张表的数据插入第三张表且第三张表中不存在

    1.由于是先查再插所以不能使用insert into table1() values(), 要使用insert into table1() select * table2,不能使用values. 2. ...

  4. Shell学习心得(四):流程控制

    一.if else 1. if if 语句语法格式: if condition then command1 command2 ... commandN fi 写成一行(适用于终端命令提示符): ]; ...

  5. 前端手势控制图片插件书写四(图片上传及Ios图片方向问题)

    1.在图片上传中,使用的input的type为File的属性.使用filereader的Api let that = this; var file = document.getElementById( ...

  6. 2019杭电多校第二场hdu6601 Keen On Everything But Triangle

    Keen On Everything But Triangle 题目传送门 解题思路 利用主席树求区间第k小,先求区间内最大的值,再求第二大,第三大--直到找到连续的三个数可以构成一个三角形.因为对于 ...

  7. C#中的Contains与IndexOf的区别

     C#中要判断一个字符串是否包含另一个字符串,常用的两种方法是 str.Contains和str.IndexOf 这两个方法的区别是: Contains是找指定字符串是否包含一个字串,返回值的bo ...

  8. 分布式任务调度平台XXL-JOB学习笔记一

    分布式任务调度平台XXL-JOB学习笔记一 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源代码并接入多家公司线上产品线,开箱即用.码云地址 ...

  9. Python 学习笔记 编程基础汇总000

    编程基础知识汇总000 1.计算机结构 2.编程语言分类 3.字符编码由来 计算机结构 计算机组成五大部件: 控制器.运算器.存储器.输入.输出 控制器(Controler):对程序规定的控制信息进行 ...

  10. [mysql终极优化]之主从复制与读写分离详细设置教程

    读写分离与主从复制是提升mysql性能的重要及必要手段,大中型管理系统或网站必用之. 一.什么是读写分离与主从复制 先看图 如上图所示,当web server1/2/3要写入数据时,则向mysql d ...