说明 :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. 对于nginx配置文件中的fastcgi_param的配置错误

    在centos中搭建LNMP的时候,遇到了一个问题 在浏览器中访问.php文件的时候,nginx不能正常解析,页面返回404,后来百度了一下,发现了问题 在nginx的配置文件nginx.conf中的 ...

  2. CentOS6.8下MySQL数据库版本信息查看

    方法1:使用mysql -v命令查看: [root@yeebian mysql]# mysql -V mysql Ver 14.14 Distrib 5.1.73, for redhat-linux- ...

  3. centos7安装minikube

    安装之前需要在bios中开启虚拟化功能.这里是在vmvare虚拟机中安装.开启步骤如下: 下载virtualbox 官网地址:https://www.virtualbox.org/ [virtualb ...

  4. 【转载】掌握 HTTP 缓存——从请求到响应过程的一切(下)

    作者:Ulrich Kautz 编译:胡子大哈 翻译原文:http://huziketang.com/blog/posts/detail?postId=58bd4dd1204d50674934c3b0 ...

  5. HTML5视频播放插件Video.js使用详解

    一.Video.js简介 Video.js 是一个开源的 Html5 jquery 视频插件,这个插件可以用来处理 Flash 视频,它还是一个多平台支持的产品. Moreover,YouTube,V ...

  6. The android command is deprecated

    新版的SDK tools中的android命令已经不支持 android create project,用起来很不顺手. The "android" command is depr ...

  7. luogu P2331 [SCOI2005]最大子矩阵

    传送门 \[\huge\mathit{warning}\] \[\small\text{以下说明文字高能,请心脏病,,,,,,人士谨慎观看,请未成年人在家长陪同下观看}\] 皮这一下很开心 其实是代码 ...

  8. 网易云课堂--妙味 《js基础课程》

    ==小例子1   ==JS中允许将"." 替换成 “[ ]” document.getElementById('btn1') 写成 document['etElementById' ...

  9. VS Code中Matlab插件安装设置

    Install the extension in VS Code Open the command palette using Ctrl+Shift+P Type ext install Matlab ...

  10. RoIPooling、RoIAlign笔记

    一).RoIPooling 这个可以在Faster RCNN中使用以便使生成的候选框region proposal映射产生固定大小的feature map 先贴出一张图,接着通过这图解释RoiPool ...