【JavaScript (二)】JavaScript基础

【JavaScript错误】

当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误。
可能是语法错误,通常是程序员造成的编码错误或错别字。
可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。
可能是由于来自服务器或用户的错误输出而导致的错误。
当然,也可能是由于许多其他不可预知的因素。

JavaScript 抛出(throw)错误
当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息。
描述这种情况的技术术语是:JavaScript 将抛出一个错误。

JavaScript try 和 catch
try语句允许我们定义在执行时进行错误测试的代码块。
catch语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
JavaScript 语句trycatch是成对出现的。

Throw 语句
throw 语句允许我们创建自定义错误。
正确的技术术语是:创建或抛出异常(exception)。
如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。

【JavaScript调试】

在程序代码中寻找错误叫做代码调试。
调试很难,但幸运的是,很多浏览器都内置了调试工具。
内置的调试工具可以开始或关闭,严重的错误信息会发送给用户。
有了调试工具,我们就可以设置断点 (代码停止执行的位置), 且可以在代码执行时检测变量。
浏览器启用调试工具一般是按下 F12 键,并在调试菜单中选择 "Console" 。

console.log() 方法

如果浏览器支持调试,你可以使用 console.log() 方法在调试窗口上打印 JavaScript 值。

设置断点

在调试窗口中,你可以设置 JavaScript 代码的断点。
在每个断点上,都会停止执行 JavaScript 代码,以便于我们检查 JavaScript 变量的值。
在检查完毕后,可以重新执行代码(如播放按钮)。

debugger 关键字

debugger关键字用于停止执行 JavaScript,并调用调试函数。
这个关键字与在调试工具中设置断点的效果是一样的。

【JavaScript内置对象】
  1. String 对象
        String 的属性:
        constructor         对创建该对象的函数的引用
        length              字符串的长度
        prototype           允许向对象添加属性和方法
        *****************************************************
        charAt()            返回在指定位置的字符
        charCodeAt()        返回在指定的位置的字符的 Unicode 编码
        concat()            连接字符串
        indexOf()           检索字符串
        lastIndexOf()       从后向前检索字符串
        localeCompare()     用本地特定的顺序来比较两个字符串
        match()             找到一个或多个正则表达式的匹配
        replace()           替换与正则表达式匹配的子串
        search()            检索与正则表达式相匹配的值
        slice()             提取字符串的片断,并在新的字符串中返回被提取的部分
        split()             把字符串分割为字符串数组
        substr()            从起始索引号提取字符串中指定数目的字符
        substring()         提取字符串中两个指定的索引号之间的字符
        toLocaleLowerCase() 把字符串转换为小写
        toLocaleUpperCase() 把字符串转换为大写
        toLowerCase()       把字符串转换为小写
        toString()          返回字符串
        toUpperCase()       把字符串转换为大写
        valueOf()           返回某个字符串对象的原始值
        ***********************************************************
        String的HTML基本类型包装器:
        author()            创建一个 HTML 锚作为一个超文本的目标
        big()               创建一个字符串用大号字体显示,就像使用 <big> 标签的效果
        blink()             创建一个字符串闪动显示,就像使用 <blink> 标签的效果
        bold()              创建一个字符串加粗显示,就像使用 <b> 标签的效果
        fixed()             创建一个字符串以打字机文本显示,就像使用 <tt> 标签的效果
        fontcolor()         创建一个字符串使用指定的颜色显示,就像使用 <font color="color"> 标签的效果
        fontsize()          创建一个字符串使用指定的尺寸显示,就像使用 <font size="size"> 标签的效果
        italics()           创建一个字符串使用斜体显示,就像使用 <i> 标签的效果
        link()              创建一个 HTML 超链接,用来请求另一个 URL
        small()             创建一个字符串使用小字号显示,就像使用 <small> 标签的效果
        strike()            创建一个字符串使用删除线显示,就像使用 <strike> 标签的效果
        sub()               创建一个字符串显示为下标,就像使用 <sub> 标签的效果
        sup()               创建一个字符串显示为上标,就像使用 <sup> 标签的效果
  1. Boolean 对象
    属性:
    constructor 返回创建这个对象的布尔函数的一个引用。
    prototype 原型属性允许您添加对象的属性和方法。
    **************************************************
    toSource() 返回一个包含布尔对象来源的一个字符串
    toString() 根据对象的值来返回 “真” 或 “假”
    valueOf() 返回布尔对象的原始值
  2. Number 对象
    属性:
    MAX_VALUE 最大的可能值在 JavaScript 中的数量可以有 1.7976931348623157E+308
    MIN_VALUE 最小的可能值在 JavaScript 中的数量可以有 5E-324
    NaN 等价于一个值不是一个数字。
    NEGATIVE INFINITY 比 MIN-VALUE 小的值。
    POSITIVE_INFINITY 比 MAX-VALUE 大的值。
    prototype 数字对象的静态属性。使用原型对象的属性来给当前文档中的数字对象分配新的属性和方法。
    ***************************************************
    constructor() 返回创建此对象的实例的函数
    toExponential() 将一个数字强制以指数表示法显示
    toFixed() 格式一个数为小数点右边有特定位数的小数
    toLocaleString() 返回当前数字的字符串值
    toPrecision() 定义了总共由多少位来显示一个数(包括小数点左边和右边的数)
    toString() 返回数的值以字符串形式表示
    valueOf() 返回数字对象的原始值
  3. Array 对象
        Array 的属性:
        constructor         返回对创建该对象的函数的引用
        index               从零开始检索匹配的字符串
        input               只见于通过正则表达式创建的数组
        length              设置或返回数组中元素的数目
        prototype           允许向对象添加属性和方法
        ********************************************************
        concat()            连接两个或更多的数组,并返回结果
        every()             对数组元素应用指定的函数进行判断,当且仅当所有返回值为 true,返回 true,否则返回 false
        filter()            创建一个新数组,数组中的元素是原数组中满足过滤函数返回值为空的元素
        forEach()           从头到尾遍历数组,为每个元素调用制定的函数
        indexOf()           从头到尾检索,返回给定元素在数组中的索引
        join()              把数组的所有元素放入一个字符串。元素通过制定的分隔符进行分割
        lastIndexOf()       从尾到头检索,返回给定元素在数组中的索引
        map()               创建一个新数组,用来存储原数组中每个元素调用指定函数的返回值
        pop()               删除并返回数组的最后一个元素
        push()              向数组的末尾添加一个或更多元素,并返回新的长度。
        reduce()            同时对数组中的两个值应用一个函数,使减少到一个单一值(从头到尾)
        reduceRight()       同时对数组中的两个值应用一个函数,使减少到一个单一值(从尾到头)
        reverse()           颠倒数组中元素的顺序
        shift()             删除并返回数组的第一个元素
        slice()             从某个已有的数组返回选定的元素
        some()              对数组元素应用指定的函数进行判断,只有有一个返回值为 true,返回 true,否则返回 
                            false。
        toSource()          返回该对象的源代码
        sort()              将数组中的元素进行排序
        splice()            在数组中插入或删除元素
        toString()          把数组转换为字符串,并返回结果
        unshift()           将一个或多个元素添加到数组的前面,并返回新数组的长度。
  1. Date 对象
        Date 的属性:
        constructor         返回对创建该对象的函数的引用
        prototype           允许向对象添加属性和方法
        ******************************************************
        Date() 构造函数有几种不同的形式:
        new Date()                  不带参数,Date() 构造函数创建一个日期对象,设置为当前日期和时间。
        new Date(milliseconds)      例如,通过传递参数 5000 创建一个日期对象,代表 1/1/1970 午夜过去 5 秒钟。
        new Date(datestring)        传递一个字符串作为参数,它必须是一个日期形式的字符串,即可以被 Date.parse()
                                    方法接收的格式。
        new Date(year,month,date[,hour,minute,second,millisecond])  方括号内的参数是可选的
        ***********************************************
        Date()              返回当日的日期和时间
        getDate()           根据本地时从Date对象返回一个月中的某一天(1 ~ 31)
        getDay()            根据本地时从Date对象返回一周中的某一天(1 ~ 6)
        getFullYear()       根据本地时从 Date 对象以四位数字返回年份
        getHours()          根据本地时返回 Date 对象的小时 (0 ~ 23)
        getMilliseconds()   根据本地时返回 Date 对象的毫秒(0 ~ 999)
        getMinutes()        根据本地时返回 Date 对象的分钟 (0 ~ 59)
        getMonth()          根据本地时从Date对象返回月份(1 ~ 11)
        getSeconds()        根据本地时返回 Date 对象的秒数 (0 ~ 59)
        getTime()           根据本地时返回 1970 年 1 月 1 日至今的毫秒数
        getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差
        getUTCDate()        根据世界时从 Date 对象返回月中的一天 (1 ~ 31)
        getUTCDay()         根据世界时从 Date 对象返回周中的一天 (0 ~ 6)
        getUTCFullYear()    根据世界时从 Date 对象返回四位数的年份
        getUTCHours()       根据世界时返回 Date 对象的小时 (0 ~ 23)
        getUTCMilliseconds()根据世界时返回 Date 对象的毫秒(0 ~ 999)
        getUTCMinutes()     根据世界时返回 Date 对象的分钟 (0 ~ 59)
        getUTCMonth()       根据世界时从 Date 对象返回月份 (0 ~ 11)
        getUTCSeconds()     根据世界时返回 Date 对象的秒钟 (0 ~ 59)
        getYear()           弃用,返回在指定的日期根据当地时间。使用getFullYear()代替。
        setDate()           根据本地时设置 Date 对象中月的某一天 (1 ~ 31)
        setFullYear()       根据本地时设置 Date 对象中的年份(四位数字)
        setHours()          根据本地时设置 Date 对象中的小时 (0 ~ 23)
        setMilliseconds()   根据本地时设置 Date 对象中的毫秒 (0 ~ 999)
        setMinutes()        根据本地时设置 Date 对象中的分钟 (0 ~ 59)
        setMonth()          根据本地时设置 Date 对象中月份 (0 ~ 11)
        setSeconds()        根据本地时设置 Date 对象中的秒钟 (0 ~ 59)
        setTime()           根据本地时以毫秒设置 Date 对象
        setUTCDate()        根据世界时设置 Date 对象中月份的一天 (1 ~ 31)
        setUTCFullYear()    根据世界时设置 Date 对象中的年份(四位数字)
        setUTCHours()       根据世界时设置 Date 对象中的小时 (0 ~ 23)
        setUTCMilliseconds()根据世界时设置 Date 对象中的毫秒 (0 ~ 999)
        setUTCMinutes()     根据世界时设置 Date 对象中的分钟 (0 ~ 59)
        setUTCMonth()       根据世界时设置 Date 对象中的月份 (0 ~ 11)
        setUTCSeconds()     根据世界时设置 Date 对象中的秒钟 (0 ~ 59)
        setYear()           弃用,设置为指定的日期根据当地时间。使用 setFullYear() 代替。
        toDateString()      把 Date 对象的日期部分转换为字符串
        toGMTString()       弃用,将日期转换为一个字符串,使用互联网格林尼治时间约定。使用 toUTCString() 代替。
        toLocalDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串
        toLocalFormat()     将日期转换为一个字符串,使用格式化字符串。
        toLocalString()     根据本地时间格式,把 Date 对象转换为字符串
        toLocalTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串
        toSource()          返回一个字符串代表一个等价的日期对象的源码,您可以使用这个值来创建一个新的对象
        toString()          把 Date 对象转换为字符串
        toTimeString()      把 Date 对象的时间部分转换为字符串
        toUCTString()       根据世界时,把 Date 对象转换为字符串
        valueOf()           返回 Date 对象的原始值
        ****************************************************
        Date静态方法:
        Date.parse()        返回 1970 年 1 月 1 日午夜到指定日期(字符串)的毫秒数
        Date.UTC()          根据世界时间返回 1970 年 1 月 1 日 到指定日期的毫秒数
  1. Math 对象

     Math 的各个属性:
     Math.E                  返回算术常量 e,即自然对数的底数(约等于 2.718)
     Math.LN2                返回 2 的自然对数(约等于 0.693)
     Math.LN10               返回 10 的自然对数(约等于 2.302)
     Math.LOG2E              返回以 2 为底的对数(约等于 1.414)
     Math.LOG10E             返回以 10 为底的对数(约等于 0.434)
     Math.PI                 返回圆周率(约等于 3.14159)
     Math.SQRT1_2            返回 2 的平方根的倒数(约等于 0.707)
     Math.SQRT2              返回2的平方根(约等于 1.414)
     ******************************************************
     abs()                   返回数的绝对值
     acos()                  返回数的反余弦值
     asin()                  返回数的反正弦值
     atan()                  以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值
     atan2()                 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)
     ceil()                  对数进行上舍入
     cos()                   返回数的余弦
     exp()                   返回 e 的指数
     floor()                 对数进行下舍入
     log()                   返回数的自然对数(底为e)
     max()                   返回 x 和 y 中的最高值
     min()                   返回 x 和 y 中的最低值
     pow()                   返回 x 的 y 次幂
     random()                返回 0~1 之间的随机数
     round()                 把数四舍五入为最接近的整数
     sin()                   返回数的正弦
     sqort()                 返回数的平方根
     tan()                   返回角的正切
     toSource()              返回该对象的源代码
    
【BOM (浏览器)对象】
windows对象(BOM的核心)
alert();        警告对话框
confirm();      确认对话框
prompt();       提示对话框
        
window.open("url", "页面标题","页面属性");  用于打开一个新页面
页面属性有:width、height、scrollbars(是否有滚动条)、位置、resizable(是否可以改变大小)、
    toolbar(是否有浏览器工具栏,包括后退及前进按钮等)、menubar(是否有菜单栏)、location(是否有地址栏);
window.close(); 关闭页面
window.confirm();   弹出一个确认对话框
window.location="url";  完成页面的重定向操作
window.prompt();    弹出一个提示对话框,附有一个文本框可用于输入数据,并可返回输入的值
window.print(); 打印当前的web页面
window.opener       获取父窗口的对象
window.onerror      处理异常
window.document
window.innerHeight  获取浏览器内部的高度(不包含滚动条那一部分)
window.innerWidth   获取浏览器内部的宽度(不包含工具栏)

History对象
window.History      对象包含浏览器的历史(url)的集合
history.back()      与在浏览器点击后退按钮相同
history.forward()   与在浏览器中点击前进按钮相同
history.go()        进入历史中的某个页面
    
Location对象
window.Location     对象用于获得当前页面的地址(URL)并把浏览器重定向到新的页面
location.hostname   返回web主机的域名
location.pathname   返回当前页面的路径和文件名
location.port       返回web主机的端口
location.portocol   返回所使用的web协议(http:// 或 https://)
location.href       返回当前页面的URL
location.assign()   返回加载新的文档
    
Screen对象包含有关用户屏幕的信息
window.screen       对象包含有关用户屏幕的信息
screen.availWidth   实际可用的屏幕宽度
screen.availHeight  实际可用的屏幕高度
screen.height       屏幕分辨率的高度
screen.width        屏幕分辨率的宽度

Navigator对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本
navigator.appCodeName  浏览器代码名的字符串表示
navigator.appName       返回浏览器的名称
navigator.appVersion    返回浏览器的平台和版本信息
navigator.platform      返回运行浏览器的操作系统平台
navigator.userAgent     返回由客户机发送服务器的user-agent头部信息  

计时器
setTimeout(function,duration);  延时指定的毫秒数执行指定的代码
clearTimeout();         停止执行setTimeout()方法的函数代码
setInterval(function, duration); 间隔指定的毫秒数不停地执行指定的代码
clearInterval();        停止执行setInterval()方法的函数代码
【DOM (document) 对象】
属性:
innerHTML           获取或替换HTML元素的内容
                    该元素还可以获取或改变任意HTML的元素
nodeName            规定节点的名称
nodeValue           规定节点的值
nodeType            返回节点的类型

************************************************************************
getElementById();
getElementsByTagName();     返回包含带有指定标签名称的所有元素的节点列表(集合/节点数)
getElementsByClassName();   返回包含带有指定类名名称的所有元素的节点列表
getAttribute(name);             返回指定的属性值
setAttribute(name,value);       把指定属性设置或修改为指定的值
    
appendChild();              把新的子节点添加到指定节点
removeChild();              删除子节点
replaceChild();             替换子节点
insertBefore();             在指定的子节点前面插入新的子节点
createElement();            创建元素节点
createAttribute();          创建属性节点
createTextNode();           创建文本节点  
    
write()                     将内容写进HTML文档
focus()                     获得焦点
select()                    将所有内容全部选择
reload()                    刷新
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,205评论 0 4
  • 你肯定还不知道如何阅读一本书。 这么说你肯定不服气。 那么,在平时的阅读中,你除了记住小说中的情节,你记住了专业性...
    壹道课堂阅读 225评论 0 0
  • 对林徽因一直有种疏离的亲切。疏离的是她丰富多彩、甚至高傲的各种版本的正说和野史。亲切的是她流传于世的或庄重大...
    就是这个米老鼠阅读 156评论 0 1