步步为营-53-JavaScript
说明 :JS比较常用
1.1 常见的两种使用方式:
1.1.1 直接使用 <script>alert('Hello,World')</script>
1.1.2 引用js文件 <script src="JS/JSHelloWorld.js"></script>
1.2 一个简单实例
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script>
//01-定义方法
function showTime() {
var date = new Date();
alert(date.toLocaleTimeString());
//可以让超连接跳转不执行
return false;
}
</script>
</head>
<body>
<input type="button" value="显示当前时间" onclick="showTime();"/>
<a href="#" onclick="showTime();">显示当前时间</a>
<a href="javascript:showTime();">显示当前时间</a>
<a href="http://www.baidu.com" onclick="return showTime();">显示当前时间</a>
</body>
</html>
1.3 数据类型
1.3.1 boolean 布尔
1.3.2 number 数字
1.3.3 string 字符串
1.3.4 Undefined 未定义 对应的值为undefined
1.3.5 Null 空对象 对应的值为null
1.3.6 object 对象类型
<script>
//当变量被声明,没有初始化,则值为undefined
var a;
alert(a);//undefined
a = null;
alert(a);//null
</script>
1.3.7 查看变量类型typeof(变量)
typeof 变量名 或 typeof(变量名)
<script>
//当变量被声明,没有初始化,则值为undefined
var a;
alert(typeof(a));//undefined
a = null;
alert(typeof (a));//object
</script>
1.3.8 类型转换
parse***(变量名);
var a2 = '100';
alert(parseInt(s2)+1)
1.4 判断是否相等
=== 严格相等(先判断类型,在判断值)
1.4.1 判断是否不是一个数字
isNaN(变量名);
1.4.2 将一段字符串当作js代码执行
eval('alert("abc")');
1.5 方法
1.5.1 语法: function 方法名 (参数列表){}
function add(a, b) {
alert(a + b);
return a + b;
}
1.5.2 不存在方法的重载,方法名相同时,后面的方法会把前面的方法覆盖掉.
1.5.3 可用可变参数替代方法重载
//可变参数
function add() {
//使用 arguments 获取所有参数,是一个数组
var sum = 0;
for (var i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
alert(sum);
}
add(1,22,3,5,7);
1.5.4 匿名方法
<input id="btnShow" type="button" value="显示" />
<script>
//语法1: function (参数列表){...return...}
var f1 = function(a, b) {
return a + b;
};
//使用场景
document.getElementById('btnShow').onclick = function() {
alert("匿名函数");
}; //语法2 (function(n1,n2){...})(1,2);
//语法3 new Function("n1","n2","return n1+n2"); </script>
1.6 闭包
1.6.1 作用域链
理解闭包之前先理解作用域链:变量的作用域在当前函数中,以及当前函数的内部定义的函数中形成了一条链条.叫做作用域链/
1.6.2 闭包:支持函数内部调用函数之前声明过的变量.
<script>
//闭包 //01_定义函数
function show(name) {
//02-函数内部定义函数
return function () {
alert(name);
}
} //调用函数
var fun1 = show('张三');
fun1(); </script>
1.7 类
<script>
//类
function Person() { } var p1 = new Person();
p1.Nmae = '张三'; p1.say= function() {
alert(p1.Nmae);
};
p1.say();
</script>
为对象新增属性
1.8 原型:对象类型
<script>
//原型
function Person() {
this.Name = '姓名';
} var p1 = new Person();
//访问原型---为原型注册数据成员
p1.__proto__.Title = '标题';
Person.prototype.Size = '1K'; var p2 = new Person();
alert(p2.Title);
alert(p2.Size);
</script>
1.9 集合(数组和键值对)
<script>
//数组
var arry1 = [, "abc"];
//键值对--json对象
var arry2=
{
name:'张三',
age :
}; //使用
alert(arry1[]);
alert(arry2.name);
alert(arry2['age']); //定义Json数组
var people = [{ name: '李四', age: }, { name: '王五', age: }];
//使用
//people是数组,所以index是索引
for (var index in people) {
alert(people[index].name);
}
</script>
步步为营-53-JavaScript的更多相关文章
- JavaScript基础知识(学习笔记)
1. 在JavaScript中所有事物都是对象:字符串.数字.数组.日期等等2. 在JavaScript中,对象是拥有属性和方法的数据3. 属性是与对象相关的值,方法是能够在对象上执 ...
- JavaScript知识点总结
JavaScript学习总结1.JavaScript是作用于网络和HTML的一个编程语言.2.JavaScript代码必须放在<script></script>标签之间,Jav ...
- JavaEE填空与判断
Java EE软件工程师认证考试 试题库- 填空题和选择题 一. 填空题 1. HTML网页文件的标记是__html__,网页文件的主体标记是_body__,标记页面标题的标记是__tit ...
- JS常见问题总结
1. 什么是 JavaScript ? JavaScript 是一种具有面向对象的.解释型的.基于对象和事件驱动的.跨平台的.弱类型的程序设计语言 2. JavaScript 与 ECMAScript ...
- JavaScript高级程序设计53.pdf
共有的表单字段方法 每个表单字段都有两个方法:focus()和blur(),其中focus()用于将浏览器焦点设置到表单字段,激活表单字段.可以侦听页面的load事件 EventUtil.addHan ...
- [Effective JavaScript 笔记]第53条:保持一致的约定
对于api使用者来说,你所使用的命名和函数签名是最能产生普遍影响的决策.这些约定很重要具有巨大的影响力.它建立了基本的词汇和使用它们的应用程序的惯用法.库的使用者必须学会阅读和使用这些.一致的约定可以 ...
- Javascript高级编程学习笔记(53)—— DOM2和DOM3(5)遍历
遍历 “DOM2级遍历和范围” 定义了两个用于辅助完成顺序遍历的DOM结构类型 NodeIterator 和 TreeWalk 上述两种类型可以基于给定起点的DOM结构执行深度优先的遍历操作 对于检测 ...
- LeetCode 53题 最大子序和 -- JavaScript
解题思路分析: 该题是在一个整数数组中找到一个和最大的连续子数组,并返回和值.那么如何找到一个和最大的连续子数组呢?我们知道,这肯定需要遍历数组才行:好,那我们就开始遍历数组.首先,我们初始化最大和 ...
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- JavaScript的“原型甘露”
今天跟朋友讨论JS的面向对象编程问题,想起了原来曾经看过一篇文章,但是看过很久想不起来了,用了很多关键词,终于用“悟透JavaScript 面向对象”这两个关键词找到了“原文”,原文地址:http: ...
随机推荐
- CM记录-Cloudera Manager常见问题汇总(转载)
1.无法加载最新的supervisord 解决方案:ps -ef | grep supervisord kill -9 pid 2.cloudera-scm-agent dead but pi ...
- 上传文件服务器与web内容服务分离
现在难点在: 1\单击表单提交按钮后,图片上传到图片服务器,文字内容上传web服务器数据库,这两个服务器分别在两个城市. 2\图片不能通过web服务器中转. 3\web服务器内 ...
- 揭秘VxWorks——直击物联网安全罩门
转载:http://chuansong.me/n/1864339 VxWorks是美国风河(WindRiver)公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键 ...
- 数据库 之 E-R设计感想
1.实体与实体之间的关系,在许多情况下,可以将其实体化为实体(弱实体),例如:员工租赁宿舍,可以将租赁弱实体化为实体(具有唯一主键ID) 2.一些具有特征的关系可以(弱)实体化为实体 3.实体里面可以 ...
- JavaScript之原生接口类设计
//接口类 var Interface = function(name , methods){ if(arguments.length!=2){ ...
- pygame(class类)调用视图的方法
以下将介绍pygame精灵动画的基础知识,希望对大家有帮助:1.在此,精灵类必须继承pygame.sprite.Sprite并初始化pygame.sprite.Sprite.__init__(self ...
- shiroWeb项目-记住我(自动登陆实现)(十五)
用户登陆选择“自动登陆”本次登陆成功会向cookie写身份信息,下次登陆从cookie中取出身份信息实现自动登陆. 用户身份实现java.io.Serializable接口便于反序列化 package ...
- sqlldr和sqludr使用笔记
导出语句: 参数:file=aaa 生成文件的名字 导入语句: 导出语句会生成一个控制文件(XX.ctl),导入语句直接使用这个控制文件就可以 readsize= 控制缓存大小,控制文件里面的 ...
- Docker容器数据卷
⒈Docker容器中数据如何持久化? ①通过commit命令使容器反向为镜像 ②以容器数据卷的方式将数据抽离 ⒉容器数据卷的作用? ①容器数据的持久化 ②容器间继承.共享数据 ⒊能干嘛? 卷就是目录或 ...
- SpringMVC使用Burlap发布远程服务
参考这篇文章https://www.cnblogs.com/fanqisoft/p/10283156.html 将提供者配置类中的 @Bean public HessianServiceExporte ...