javascript中,Date代表日期对象,其常见的用法如下: 一.Date的构造函数 有四种形式的Date构造函数,详见下面代码的注释: //1.构造函数没有参数,则返回当前日期的Date对象 var now=new Date(); //2.构造函数的参数为日期的毫秒数,返回距离1970年1月1日经过该毫秒后对应的日期 ); //3.构造函数的参数为对应的日期字符串,返回对应的日期对象,其中年,月,日是必须的,时分秒可选 //实际上,上面这种直接将表示日期的字符串传递给Date构造函数,会在…
前端学习 第二弹: JavaScript中的一些函数与对象(1) 1.apply与call函数 每个函数都包含两个非继承而来的方法:apply()和call(). 他们的用途相同,都是在特定的作用域中调用函数. 接收参数方面不同,apply()接收两个参数,一个是函数运行的作用域(this),另一个是参数数组.call()方法第一个参数与apply()方法相同,但传递给函数的参数必须列举出来. 举个例子: function Person(name,age) { this.name=name; t…
在做面试题之前,我们先搞清楚两个概念 执行上下文(execution context) 变量对象(variable object) 执行上下文 我们都知道JavaScript的作用域一共分三种 全局作用域 函数作用域 eval作用域 实际上每一次的函数调用都会有一个对应的执行环境,这个执行环境也叫做执行上下文.执行上下文是一个抽象的概念,函数每调用一次就会产生一个新的执行上下文. 下面我们通过一段代码来理解下执行上下文的顺序: var fun0 = 'global context'; conso…
Date对象 创建Date对象 //方法1:不指定参数var nowd1=new Date();alert(nowd1.toLocaleString( ));//方法2:参数为日期字符串var nowd2=new Date("2004/3/20 11:12");alert(nowd2.toLocaleString( ));var nowd3=new Date("04/03/20 11:12");alert(nowd3.toLocaleString( ));//方法3…
有些时候我们需要计算两个日期间的天数,或者小时数等等.下面用JavaScript实现这个需求,然后学习一下需要用到的一些JavaScript函数. JavaScript程序如下: 1 <script type="text/javascript">  2 var getOffDays = function(startDate, endDate) {   3     //得到时间戳相减 得到以毫秒为单位的差   4     var mmSec = (endDate.getTim…
在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new Date('2013-10-21') 的日期对象. 但是在IOS5版本里面的Safari解释new Date('2013-10-21') 就不正确,在IOS5的Safari中返回的永远是"Invalid Date". 后来我在网上查找了资料,原来是低版本的Safari解释new Date('2013-10-21')这个对象不一样,在IOS5中的Safari不支持这种写法, 而它支持的…
这里总结的东西特别适合先学习c/c++, Java这类标准语言再学JS的童鞋们看,因为JS在程序执行之前就会初始化一个全局对象,这个全局对象到底是什么是跟JS程序运行环境有关的. 根据JavaScript的运行环境,在JS中存在两种全局对象:JS全局对象和window全局对象. 1. 第一种是在JS语言核心中,即没有web浏览器宿主环境的条件下,在这种环境中,对于任何JS程序,在程序开始之前,JS解释器都会初始化一个全局对象供程序使用,这个全局对象占且称为“JS全局对象”.通过使用“JS全局对象…
      这张图片有点劝退了,哈哈哈~    通过原型机制,JavaScript 中的对象从其他对象继承功能特性:这种继承机制与经典的面向对象编程语言的继承机制不同.本文将探讨这些差别,解释原型链如何工作,并了解如何通过 prototype 属性向已有的构造器添加方法 基于原型的语言? JavaScript 常被描述为一种基于原型的语言 (prototype-based language)——每个对象拥有一个原型对象,对象以其原型为模板.从原型继承方法和属性.原型对象也可能拥有原型,并从中继承…
在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new Date('2013-10-21') 的日期对象. 但是在IOS5版本里面的Safari解释new Date('2013-10-21') 就不正确,在IOS5的Safari中返回的永远是"Invalid Date". 后来我在网上查找了资料,原来是低版本的Safari解释new Date('2013-10-21')这个对象不一样,在IOS5中的Safari不支持这种写法, 而它支持的…
Javascript 中的this 总让人感到困惑,你能分清以下三种test1(),test2(),test3() 情况下的输出吗? 注:以下Javascript运行环境中为浏览器 //1 this在全局函数中使用 var x = 1; function test1() { var  x = 5; alert(this.x); } function _test2() { this.x = 5; alert(this.x); } //2 this 在构造函数中 new 中使用 function t…
在做Mobile终端的Website开发中,我遇到一个很懊恼的问题. 在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new Date('2013-10-21') 的日期对象. 但是在IOS5版本里面的Safari解释new Date('2013-10-21') 就不正确,在IOS5的Safari中返回的永远是"Invalid Date". 后来我在网上查找了资料,原来是低版本的Safari解释new Date('2013-10-21')…
Map对象 Map对象是一种有对应 键/值 对的对象, JS的Object也是 键/值 对的对象 : ES6中Map相对于Object对象有几个区别: 1:Object对象有原型, 也就是说他有默认的key值在对象上面, 除非我们使用Object.create(null)创建一个没有原型的对象: 2:在Object对象中, 只能把String和Symbol作为key值, 但是在Map中,key值可以是任何基本类型(String, Number, Boolean, undefined, NaN..…
在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new Date('2016-06-07') 的日期对象. 但是在IOS5版本里面的Safari解释new Date('2016-06-07') 不正确,在IOS5的Safari中返回的永远是"Invalid Date". 想要IOS5中的Safari能正确解析new Date()那么必须这么写 new Date('2016/06/07');…
<script language="javascript"> var user = '{name:"张三",age:23,'+ 'address:{city:"青岛",zip:"266071"},'+ 'email:"iteacher@haiersoft.com.cn",'+ 'showInfo:function(){'+ 'document.write("姓名:"+this…
在javascript里面,this是一个特殊的对象,它不像其他编程语言那样,是存储在实例中的值,直接指向此实例. 而是作为一个单独的指针,在不同的情况之下,指向不同的位置,这也是为什么我们会将它搞混的原因. 下面我们来看下,它在不同情况下分别是怎样一种形态  1.在全局作用域时: 这个是最好理解的,即在全局作用域下this指向window,也就是在全局作用域下,this与window是等价的: ? 1 console.log(this === window); //true 另外,由于在此时,…
转载: 查看原文 在javascript中,对象和数组是两种不同的类型,这和php中的数组概念不同.在javascript中,也有一些精妙的算法,用来对一些对象进行排序.我在面试迅雷的时候,也拿到一道题,当时做题的时候考虑到时间,没有去仔细研究,回来后再读了一些方法,就知道真正的考点在哪里了. 我们现在有一组“学生”对象,包含“名字,年龄”等属性,现在要求一个算法,把这些对象放在一个数组里,可以实现按照年龄对这些对象进行排序. var sdts = [ { name:"小明", age…
在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new Date('2013-10-21') 的日期对象,但是在IOS5版本里面的Safari解释new Date('2013-10-21') 就不正确,在IOS5的Safari中返回的永远是"Invalid Date". 后来我在网上查找了资料,原来是低版本的Safari解释new Date('2013-10-21')这个对象不一样,在IOS5中的Safari不支持这种写法,接着我查了很多…
1.JavaScript中的事件注册 1.1.事件的注册方式 方式1:直接在html元素上注册 <body onLoad="ready()"></body > function read(){ alert("body元素被加载进来"); } 方式2:可以在js代码向找到对应的对象注册.推荐使用 实例 <!doctype html> <html> <head> <meta charset="u…
Javascript中Array数组的几个常用方法 pop()  --获取数组中末尾的元素 shift() --获取数组中首位元素 push() --在数组中末尾增加元素 slice()  --按照下标进行截取数据 <p id="demo">点击按钮截取数组下标 1 到 2 的元素.</p> <button onclick="test()">点我</button> <script> function tes…
前言 关于什么是js的类数组对象这里不再赘述.可以参考这个链接,还有这里. js中类数组对象很多,概念简单的讲就是看上去像数组,又不是数组,可以使用数字下标方式访问又没有数组方法. 例: arguments , NodeList , HTMLCollection , jQuery 等 类数组对象特性 1.拥有 length 属性 var a=document.getElementsByTagName("div"); a.__proto__;// HTMLCollection {} 属于…
ECMAScript中的Date类型是在早起Java中的java.util.Date类基础上构建的.为此,Date类型使用自UTC(Coordinated Universal Time,国际协调时间)1970年1月1日0时开始经过的毫秒数来保存日期.在使用这种数据存储格式的条件下,Date类型保存的日期能够精确到1970年1月1日之前或之后的100000000年. 要创建一个日期对象,使用new操作符合Date构造函数即可. var now = new Date(); 在调用Date构造函数而不…
  问题描述 在实现业务时,大量用到了 if(a === b)这样的判断,但有一个类似判断一直进不去这个if条件, a === b 返回的一直是false,但是其他几个类似判断,都正常触发条件. 原因分析 我们都知道 === 是严格相等,首先要两个值的类型相等,无法触发条件的这个判断,a和b都是Array对象,且通过打印,看到数组中的元素是一样的.于是写了几个测试判断,如下: 通过上图可以看到,对于javascript的基础类型Number.String,如c2和d2都等于1,用c2===d2的…
本身这句话很好解释,函数有两个主要特点,援引自 陈新 译的<JavaScript模式>: 1.函数是第一类对象: 函数可以在运行时动态创建,还可以在程序执行过程中创建. 函数可以分配变量,可以将它们的引用复制到其他变量,可以被扩展,此外,除少数特殊情况外,函数还可以被删除. 可以作为参数传递给其他函数,并且还可以有其他函数返回. 函数可以有自己的属性和方法. 2.函数提供了作用域 在JavaScript中,没有使用花括号{}语法来定义局部变量的作用域,也就是说,块并不能创建作用域.这也就意味着…
1.Date对象 1.创建Date对象 var time1=new Date() 方法1:不指定参数 var time1=new Date(); alert(time1.toLocaleString( )); 方法2:参数为日期字符串 var time2=new Date("2017/8/8 11:12"); alert(time2.toLocaleString( )); var time3=new Date("2016/03/20 11:12"); alert(t…
Date是什么? Date是日期类的构造函数 也是个对象,用于构造日期对象的实例. 有一个 now()方法,返回截止目前的时间戳(1970.1.1日始). Date.parse()接受 一定格式的日期字符串,返回相应的时间戳. '6/30/2017',月/日/年 '2016-2-22',年-月-日 'june12 , 2017' 英文月日  年. Date.UTC()接受多个表示日期年月日时分秒的数字,返回响应的时间戳. (2015,1,3)表示 2015年2月3日. 如何构建Date实例 构造…
创建一个指定的事件对象 需要在构造函数中传递一个表示时间的字符串作为参数例:var d2=new Date("8/27/2019"); 如果直接使用构造函数创建一个Date对象,则会封装为当前代码执行的时间 getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31). getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6). 0开始 0代表星期天 getMonth() 从 Date 对象返回月份 (0 ~ 11). 0开始 getFullYear()…
http://fangjian0423.github.io/categories/mybatis/ http://xtutu.me/the-date-object-in-js/…
什么是执行上下文 当浏览器的解释器开始执行我们的js代码的时候,js代码运行所处的环境可以被认为是代码的执行上下文,执行上下文(简称-EC)是ECMA-262标准里的一个抽象概念,用于同可执行代码(executable code)概念进行区分.一般来讲,执行上下文可以在以下三种情况产生: 1. 全局上下文(globalContext)   2. function 内部 3. Eval code. 看个例子,包含全局和function内部上下文 紫色框内表示全局的执行上下文,同时内部会有3个不同的…
function getCookie(name)//取cookies函数 { //coook中document.cookie = "age=12; name=1.css"; var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)")); if (arr != null) return unescape(arr[2]); return null; } //…
看下面的代码 <script type="text/javascript"> var dt1 = new Date('2016-3-4 11:06:12'); alert(dt1); </script> 在chrome浏览器中打开没问题,在safari浏览器中打开会提示Invalid Date. 说明上面的写法有浏览器兼容性问题,查一下new Date的初始化参数有5种形式: 1)new Date("month dd,yyyy hh:mm:ss&quo…