步步为营-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: ...
随机推荐
- 学习Git笔记
一.名词解释 1.仓库(Repository) 仓库用来存放项目代码,每个项目对应一个仓库,多个开源项目则有多个仓库. 2.收藏(Star) 收藏项目,方便下次查看 3.复制克隆项目(Fork) 该f ...
- xml总结(一 )
一.了解 XML(eXtensive Markup Language)可扩展标记语言. XML是被用来传输和存储数据,焦点是内容,是对html的补充. HTML是将数据进行格式化显示.xml需要自定义 ...
- VUE2.0 饿了吗视频学习笔记(一):VUE示例data.json
https://gitee.com/1981633/vue_study.git 源码下载地址,随笔记动态更新中有的同学找不到data.json,以下是data.json内容 { "selle ...
- CopyFromScreen在屏幕缩放情况下需要做处理
using System; using System.Drawing; using System.Runtime.InteropServices; //这段代码转自网上 namespace Syste ...
- Http请求中 content-type 和 dataType 区别
contentType: 告诉服务器,我要发什么类型的数据 dataType:告诉服务器,我要想什么类型的数据,如果没有指定,那么会自动推断是返回 XML,还是JSON,还是script,还是Stri ...
- u-boot移植(四)---修改前工作:代码流程分析3---代码重定位
一.重定位 1.以前版本的重定位 2.新版本 我们的程序不只涉及一个变量和函数,我们若想访问程序里面的地址,则必须使用SDRAM处的新地址,即我们的程序里面的变量和函数必须修改地址.我们要修改地址,则 ...
- C# 时间戳与时间相互转化
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 时间戳d ...
- js设置按钮不可用
<input type="button" value="确定" id="stamp" onclick="stampBill( ...
- 第16月第10天 poco target
1. void TCPServer::start() { poco_assert (_stopped); _stopped = false; _thread.start(*this); } void ...
- 深入解析Java AtomicInteger 原子类型
深入解析Java AtomicInteger原子类型 在进行并发编程的时候我们需要确保程序在被多个线程并发访问时可以得到正确的结果,也就是实现线程安全.线程安全的定义如下: 当多个线程访问某个类时,不 ...