JS 对象、HTML事件处理、JS 类型转换、Date
1. JS 对象
<script>
var Person = new Object();
Person.id = 1;
Person.name = "Hello World";
Person.age = 10;
Person.Func_eat = function(food)
{
console.log("eat:" + food);
} Person.Func_eat("vegetable"); Person2 = new Person(); //没有声明 Person 方法,报错
Person2.Func_eat("fruit");
</script>
上例是:直接创建一个对象的实例,但是没有为“这一类对象”定义构造函数。
使用构造创建对象,并有对象来初始化实例:
<script>
function Person(id, name, age)
{
this.id = id; //this 指向该函数所属的对象
this.name = name;
this.age = age; this.eat = function(food)
{
console.log(this.name + " eat:" + food);
}
} XiaoMing = new Person(1, "XiaoMing", 10);
XiaoMing.eat("meet"); LiLei = new Person(2, "LiLei", 12);
LiLei.eat("fruit");
</script>
2016.10.2 补充:
用Chrome 可以调试 HTML 里的 JS 脚本:

Egret 使用的类的定义方式:
var egret;
(function (egret) {
/**
* @private
*/
function _getString(code) {
var params = [];
for (var _i = 1; _i < arguments.length; _i++) { //arguments:JS关键字,函数参数数组;
params[_i - 1] = arguments[_i];
}
return egret.sys.tr.apply(egret.sys, arguments);
}
})(egret || (egret = {}));
- 常见格式:(function() { /* code */ })();
- 解释:包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。
- 作用:可以用它创建命名空间,只要把自己所有的代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许(变量前加上window,这样该函数或变量就成为全局)。各JavaScript库的代码也基本是这种组织形式。
2. 常用JS处理的 HTML 事件:
| onchange | HTML 元素改变 |
| onclick | 用户点击 HTML 元素 |
| onmouseover | 用户在一个HTML元素上移动鼠标 |
| onmouseout | 用户从一个HTML元素上移开鼠标 |
| onkeydown | 用户按下键盘按键 |
| onload | 浏览器已完成页面的加载 |
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body> <button onclick="console.log(PrintDate())">现在的时间是?</button>
<button onclick="this.innerHTML=PrintDate()">现在的时间是?</button> <script>
function PrintDate()
{
return Date();
}
</script> </body>
</html>
标签都是用字符串描述的,onclick=PrintDate() 是新手容易犯的错误。
3. JS的运算符
常用运算符与C/C++相同,不赘述。
4. 类型转换
typeof() 可用于类型检查,在弱类型的脚本语言里还是很常用的。
<script>
function PrintDate()
{
return Date();
} console.log(typeof(PrintDate))
</script>
输出 “function”。
用 constructor 可以起到类似的效果:
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
类型转换:
<script>
var num = 123;
console.log(num.toString()); // Number方法-直接转换为字符串
console.log(num.toExponential()); // Number方法-转换为指数计数法
console.log(num.toFixed(3)); // Number方法-转换为字符串,小数点后带指定位数
console.log(num.toPrecision(5)); // Number方法-转换为指定长度字符串
console.log(Date().toString());
</script>
4. 时间API
| getDate() | 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 |
| getDay() | 从 Date 对象返回一周中的某一天 (0 ~ 6)。 |
| getFullYear() | 从 Date 对象以四位数字返回年份。 |
| getHours() | 返回 Date 对象的小时 (0 ~ 23)。 |
| getMilliseconds() | 返回 Date 对象的毫秒(0 ~ 999)。 |
| getMinutes() | 返回 Date 对象的分钟 (0 ~ 59)。 |
| getMonth() | 从 Date 对象返回月份 (0 ~ 11)。 |
| getSeconds() | 返回 Date 对象的秒数 (0 ~ 59)。 |
| getTime() | 返回 1970 年 1 月 1 日至今的毫秒数。 |
JS 对象、HTML事件处理、JS 类型转换、Date的更多相关文章
- json转js对象方法,JS对象转JSON方法
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 小程序-调用公共js对象方法/ app.js
在小程序中,如果在子页面想调用共公js的方法,需先在子页面js中先实例化app:具体过程如下 子页面js: 1 2 3 4 5 6 7 8 //调用公共js对象以便调用其方法 var app = ge ...
- JS对象与Dom对象与jQuery对象之间的区别
前言 通过问题看本质: 举例: js的写法:document.getElementById('save').disabled=true; 在jquery中我是这样写的 $("#save&qu ...
- javascript基础-js对象
一.js对象的创建 1.普通最简单的方式 var teacher = new Object( ); teacher.name = "zhangsan"; teacher.age = ...
- JavaScript:JSON 和 JS 对象
区别 JSON(JavaScript Object Notation)仅仅是一种数据格式(或者叫数据形式).数据格式其实就是一种规范,按照这种规范来存诸和交换数据.就好像 XML 格式一样. 区别 J ...
- JS中String类型转换Date类型 并 计算时间差
JS中String类型转换Date类型 1.比较常用的方法,但繁琐,参考如下:主要使用Date的构造方法:Date(int year , int month , int day)<script& ...
- js实现小时钟,js中Date对象的使用?
介绍一下js中Date对象的使用 dateObj = new Date() dateObj = new Date(dateValue) dateObj = new Date(year,month,da ...
- JavaScript学习总结【3】、JS对象
在 JS 中一切皆对象,并提供了多个内置对象,比如:String.Array.Date 等,此外还支持自定义对象.对象只是一种特殊类型的数据,并拥有属性和方法,属性是与对象相关的值,方法是能够在对象上 ...
- 超全面的JavaWeb笔记day03<JS对象&函数>
1.js的String对象(****) 2.js的Array对象 (****) 3.js的Date对象 (****) 获取当前的月 0-11,想要得到准确的月 +1 获取星期时候,星期日是 0 4.j ...
随机推荐
- 【递推】地铁重组(subway) 解题报告
问题来源 BYVoid魔兽世界模拟赛 [问题描述] 蒙提在暴风城与铁炉堡之间的地铁站中工作了许多年,除了每天抓一些矿道老鼠外,没有其他的变化.然而最近地铁站终于要扩建了,因为侏儒们攻克了建设长距离穿海 ...
- python 解析 配置文件
资料: https://docs.python.org/3/library/configparser.html 环境 python 3.4.4 RawConfigParser方式 example.cf ...
- 高效的DDoS攻击探测与分析工具——FastNetMon
一.简介 FastNetMon这是一个基于多种抓包引擎(NetFlow, IPFIX, sFLOW, netmap, PF_RING, PCAP)的DoS/DDoS攻击高效分析工具,可以探测和分析网络 ...
- dos 命令
DOS远程桌面连接命令 mstsc /v: 192.168.1.250 /console cmd 运行 command删除文件 rd 文件名/S创建文件 MD 文件名 1. net user admi ...
- 使用国人的koala来重新预编译BOOTSTRAP的LESS文件
好玩...
- 【待解决】编译V8引擎出错-snapshot.cc
这几天学习nodejs,翻阅官网的API文档.看到nodejs插件时,想了解一下v8的实现机制,于是我便从GitHub社区克隆了一份v8源码库.哪知道,编译安装的时候就出了问题,这问题已经折磨我两天了 ...
- [转] __thread关键字
http://blog.csdn.net/liuxuejiang158blog/article/details/14100897 __thread是GCC内置的线程局部存储设施,存取效率可以和全局变量 ...
- TCP异常终止(reset报文)
在之前做智能家居系统时,师弟做的服务端与WiFI盒子(客户端)进行通信时,总是出现异常情况,然后服务端不停地向客户端发送RESET报文,之前一直都不知道是什么情况,因此一直不知道是什么问题导致的,今天 ...
- HTML5 微信二维码提示框
这是一个js的小案例,主要效果是显示一个微信二维码的提示框,非常简单实用. 源码如下: JS部分 <script src="js/jquery-1.8.3.min.js"&g ...
- Sublime Text插件之Emmet
转载:http://www.w3cplus.com/tools/using-emmet-speed-front-end-web-development.html Emmet插件以前被称作为Zen Co ...