BOM

BOM 是“ Browser Object Model ”的缩写,简称“ 浏览器对象模型 ”。

BOM 定义了 JavaScript 操作浏览器的接口,提供了访问某些功能(如浏览器窗口大小、版本信息、浏览历史记录等)的途径以及操作方法。

遗憾的是,BOM 只是 ECMAScript 的一个扩展,没有任何相关标准,W3C也没有对该部分作出规范,每个浏览器厂商都有自己的 BOM 实现,这可以说是 BOM 的软肋所在。

通常情况下,浏览器特定的(即非 W3C 标准规定的)JavaScript 扩展都被看作 BOM 的一部分,主要包括:

  • 关闭、移动浏览器及调整浏览器窗口大小;
  • 弹出新的浏览器窗口;
  • 提供浏览器详细信息的定位对象;
  • 提供载入到浏览器窗口的文档详细信息的定位对象;
  • 提供用户屏幕分辨率详细信息的屏幕对象;
  • 提供对cookie的支持;
  • 加入ActiveXObject类扩展BOM,通过JavaScript实例化ActiveX对象。

注意:BOM 有一些“事实上的标准”,如操作浏览器窗口、获取浏览器版本信息等,在不同浏览器中,对它们的实现方法是一样的。

JavaScript 支持单行注释和多行注释:单行注释以 // 开头;多行注释以 /* 开始,以 */ 结尾。 JavaScript不支持多行嵌套注释。

JavaScript 是弱类型的语言,声明变量时无需声明数据类型,JavaScript 会根据变量内容自动判断数据类型。这就意味着,JavaScript 拥有动态类型,同一个变量可以赋予不同类型的值。这在C语言、C++和Java等强类型语言中是无法办到的。JavaScript 变量命名规范:变量必需以 字母、$ 和 _ 开头,不能以数字和其他字符开头。区分大小写

在JavaScript中,未赋值变量有一个默认值,是 undefined ,即” 未定义 “。在JavaScript中,引用一个未赋值的变量,其值为 undefined ,引用一个未声明的变量将会引发错误。

表2-1  五种基本数据类型
Number 数字类型
String 字符串类型
Boolean 布尔类型
Undefined 表示一个变量未被赋值
Null 空的对象

Number 类型还有一个特殊值 NaN(非数值 Not a Number)。用于表示一个本来要返回数值的操作并未返回数值。

如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为 null 而不是其他值。

常见的运算符有算数运算符、比较运算符和逻辑运算符。“+”号不但可以将两个数据相加,还可以用来连接字符串。当字符串和数值进行混合运算时,JavaScript 会自动判断“ + ”号的作用,是相加运算,还是连接字符串。如果是连接字符串,数值也将被转换为字符串。

使用关键词 new 来创建数组对象

var myArray=new Array();
myArray[0] = " zhangming ";
myArray[1] = " zhaowei ";
myArray[2] = " wanghua ";
var myArray=new Array(" zhangming " , " zhaowei " , " wanghua ");

使用 [ ] 直接创建数组

var myArray=[];
myArray[0] = " zhangming ";
myArray[1] = " zhaowei ";
myArray[2] = " wanghua ";
var myArray=[ " zhangming " , " zhaowei " , " wanghua " ];

在JavaScript中,通过 length 来获得数组、字符串的长度。

四舍五入round() 

向下取整(下舍入)floor()

向上取整(上舍入)ceil()

通过 Math 对象的 random() 方法可以返回一个介于 0 ~ 1 之间的随机数。

if( ){ } else if( ){ }相当于if( ){ }else{ if( ){ } }

三目运算符

语法:
    conditions ? statementA : statementB ;
上述语句,首先判断条件condition,若结果为真则执行语句statementA,否则执行语句statementB。

值得注意的是,由于 JavaScript 脚本解释器将分号“ ; ”作为语句的结束符,statementA 和 statementB 语句均必须为单个语句,使用多个语句会报错。

在JavaScript中,使用 break 和 continue 语句跳出循环:

  • break语句的作用是立即跳出循环,即不再执行后面的所有循环;
  • continue语句的作用是停止正在执行的循环,直接进入下一次循环。

javascript入门教程笔记的更多相关文章

  1. ArcGIS API for JavaScript 入门教程[0] 目录

    随时翻看. 转载注明出处,博客园/CSDN/B站:秋意正寒. Part 1 必看 ArcGIS API for JavaScript 入门教程[1] 渊源 你还真不一定知道这是啥.非得学吗? ArcG ...

  2. 无废话MVC入门教程笔记

    自学mvc,看了园子里李林峰写的李林峰写的无废话MVC入门教程笔记,现在有的平时忽略的或是不太清楚的点记下来 1,Html.DropDownList //服务端写法 @{ //下拉列表的值 List& ...

  3. 2019-03-22 Python Scrapy 入门教程 笔记

    Python Scrapy 入门教程 入门教程笔记: # 创建mySpider scrapy startproject mySpider # 创建itcast.py cd C:\Users\theDa ...

  4. ArcGIS API for JavaScript 入门教程[2] 授人以渔

    这篇仍然不讲怎么做,但是我要告诉你如何获取资源. 目录:https://www.cnblogs.com/onsummer/p/9080204.html 转载注明出处,博客园/CSDN/B站:秋意正寒. ...

  5. ArcGIS API for JavaScript 入门教程[4] 代码的骨架

    [回顾与本篇预览] 上篇简单介绍了JsAPI中的数据与视图,并告诉大家这两部分有什么用.如何有机连接在一起. 这一篇快速介绍一下前端代码的骨架.当然,假定你已经熟悉HTML5.CSS3和JavaScr ...

  6. JavaScript入门-学习笔记(一)

    JavaScript入门(一) 学习js之前,我们先来了解一下,什么是JavaScript? JavaScript是一种解释型语言.在运行的时候,一边读一边编译一边执行.简单来说就是,在执行js代码时 ...

  7. Swagger快速入门教程笔记

    现在市面上大多数公司都摒弃了传统 jsp 开发,采用前后端分离式的开发规则,前端使用 Vue,Angular,React 等等完成页面,后端省掉了视图跳转的过程,直接书写接口返回 json 数据供前端 ...

  8. ArcGIS API for JavaScript 入门教程[1] 渊源

    ->对于萌新,你可能需要了解一下这个东西是什么 ->对于已经知道要用这个东西的开发者,你可能需要了解一下它的底层机制 不针对大牛.龟速更新ing. 转载注明出处.博客园&CSDN& ...

  9. JavaScript入门学习笔记(二)

    JavaScript运算符: 算术运算符.赋值运算符和字符串连接运算符. 算法运算符与复制运算符用法参照Java: 字符串运算符: +运算符用于把文本值或字符串变量连接起来,适用于两个或更多字符串变量 ...

随机推荐

  1. JAVA多线程提高四:多个线程之间共享数据的方式

    多个线程访问共享对象和数据的方式 如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据,例如,买票系统就可以这么做. 如果每个线程执行的代码不同,这 ...

  2. 如何用jQuery封装插件

    引子 现在网上关于js和jquery封装的插件很多,我刚刚接触前端的时候,就很敬佩那些自己写插件的大牛们!因为是他们给网站开发更多的便利,很多网页效果,网上很多现成的插件!那么这些插件是如何写的呢?首 ...

  3. windows 安装elasticsearch-head插件

    es5以上版本安装head需要安装node和grunt(之前的直接用plugin命令即可安装) (一)从地址:https://nodejs.org/en/download/ 下载相应系统的msi,双击 ...

  4. 利用PhantomJS生成网站截图

    var page = require('webpage').create(); page.open('http://qq.com', function () { page.render('exampl ...

  5. 【BZOJ】4032: [HEOI2015]最短不公共子串(LibreOJ #2123)

    [题意]给两个小写字母串A,B,请你计算: (1) A的一个最短的子串,它不是B的子串 (2) A的一个最短的子串,它不是B的子序列 (3) A的一个最短的子序列,它不是B的子串 (4) A的一个最短 ...

  6. c++都忘记了,看了看那本发黄的C++primer,还是要去翻下了

    char *s="string"和char s[]="string"的区别 void main() { char* pStr1 = "Hello!&q ...

  7. MySql 快速去重方法

    1.复制需要去重的表 CREATE TABLE 新表 LIKE 旧表 ; 2.将需要去重的字段 设置为唯一union 索引 ALTER TABLE 表名 ADD UNIQUE(`字段`); 3.复制旧 ...

  8. CodeForces - 1004C

    Since Sonya is interested in robotics too, she decided to construct robots that will read and recogn ...

  9. Go语言 6 结构体、方法和接口

    文章由作者马志国在博客园的原创,若转载请于明显处标记出处:http://www.cnblogs.com/mazg/ Go学习群:415660935 结构体(struct)是由一系列具有相同类型或不同类 ...

  10. host与guest间共享文件夹的三种方法(原创)

    一,用samba实现host与guest共享文件 Samba简介:SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算 ...