说明 :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的更多相关文章

  1. JavaScript基础知识(学习笔记)

    1.    在JavaScript中所有事物都是对象:字符串.数字.数组.日期等等2.    在JavaScript中,对象是拥有属性和方法的数据3.    属性是与对象相关的值,方法是能够在对象上执 ...

  2. JavaScript知识点总结

    JavaScript学习总结1.JavaScript是作用于网络和HTML的一个编程语言.2.JavaScript代码必须放在<script></script>标签之间,Jav ...

  3. JavaEE填空与判断

    Java EE软件工程师认证考试 试题库- 填空题和选择题   一.     填空题 1. HTML网页文件的标记是__html__,网页文件的主体标记是_body__,标记页面标题的标记是__tit ...

  4. JS常见问题总结

    1. 什么是 JavaScript ? JavaScript 是一种具有面向对象的.解释型的.基于对象和事件驱动的.跨平台的.弱类型的程序设计语言 2. JavaScript 与 ECMAScript ...

  5. JavaScript高级程序设计53.pdf

    共有的表单字段方法 每个表单字段都有两个方法:focus()和blur(),其中focus()用于将浏览器焦点设置到表单字段,激活表单字段.可以侦听页面的load事件 EventUtil.addHan ...

  6. [Effective JavaScript 笔记]第53条:保持一致的约定

    对于api使用者来说,你所使用的命名和函数签名是最能产生普遍影响的决策.这些约定很重要具有巨大的影响力.它建立了基本的词汇和使用它们的应用程序的惯用法.库的使用者必须学会阅读和使用这些.一致的约定可以 ...

  7. Javascript高级编程学习笔记(53)—— DOM2和DOM3(5)遍历

    遍历 “DOM2级遍历和范围” 定义了两个用于辅助完成顺序遍历的DOM结构类型 NodeIterator 和 TreeWalk 上述两种类型可以基于给定起点的DOM结构执行深度优先的遍历操作 对于检测 ...

  8. LeetCode 53题 最大子序和 -- JavaScript

    解题思路分析: 该题是在一个整数数组中找到一个和最大的连续子数组,并返回和值.那么如何找到一个和最大的连续子数组呢?我们知道,这肯定需要遍历数组才行:好,那我们就开始遍历数组.首先,我们初始化最大和 ...

  9. JavaScript 中的数据类型

    Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...

  10. JavaScript的“原型甘露”

    今天跟朋友讨论JS的面向对象编程问题,想起了原来曾经看过一篇文章,但是看过很久想不起来了,用了很多关键词,终于用“悟透JavaScript  面向对象”这两个关键词找到了“原文”,原文地址:http: ...

随机推荐

  1. ElasticSearch 例子

    ElasticSearch是一个接近实时的搜索平台,它利用Lucese进行文档索引. 本文会写个可以运行的简单例子,方便大家上手,日后深入了解. 需要引入maven依赖 <dependency& ...

  2. Django 2.0.1 官方文档翻译:编写你的第一个djang补丁(page 15)

    编写你的第一个djang补丁(page 15) 介绍 有兴趣为社区做一些贡献?可能你发现了django中的一个你想修复的bug,或者你你想添加一个小小的功能. 回馈django就是解决你遇到的问题的最 ...

  3. Ubuntu14.10安装TensorFlow1.0.1

    本文记录了在Ubuntu上安装TensorFlow的步骤.系统环境:Ubuntu14.10 64bitPython版本:Python 2.7.8TensorFlow版:TensorFlow 1.0.1 ...

  4. python学习笔记9-单元测试unittest

    Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 在说unittest之前,先说几个概念: TestC ...

  5. Linux配置Tomcat步骤mv apache-tomcat-7.0.82 tomcat

    (一)安装JAVA1.检查java环境 java -version,不存在安装.2.yum -y list java* Loaded plugins: fastestmirror, langpacks ...

  6. 三、u-boot 的配置-mkconfig 脚本

    3.1 mkconfig 脚本 100ask24x0_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL ...

  7. Postfix 邮件服务 - 邮箱组件 cyrus-sasl

    cyrus-sasl 简单认证安全层, SASL主要是用于SMTP认证.cyrus-sasl(Simple Authentication Security Layer)简单认证安全层, SASL主要是 ...

  8. H.264 SVC

    视频厂商POLYCOM,VIDYO和RADVISION等都推出H.264 SVC技术.针对H.264 SVC技术做个介绍. CISCO和POLYCOM都提供了免版税的H.264 SVC的版本. 其中o ...

  9. H - Repeats (重复最多子串的次数)

    题目链接:https://cn.vjudge.net/contest/283743#problem/H 题目大意:T组数据,给你一个字符串,然后让你求这个字符串的重复最多子串的次数. 具体思路:论文题 ...

  10. 【Udacity并行计算课程笔记】- Lesson 2 The GPU Hardware and Parallel Communication Patterns

    本小节笔记大纲: 1.Communication patterns gather,scatter,stencil,transpose 2.GPU hardware & Programming ...