js-基础(1)

javascript由三部分组成:核心,DOM,BOM
核心——ECMAScript,可以运行浏览器/单纯的JS引擎
    console.log(‘hello’);
DOM——操作HTML,需要浏览器
    document.write(‘<hr/>’);
BOM——与浏览器交互,需要浏览器
    window.alert(‘用户名已存在!请重试!’);    //弹出一个警告框
    window.prompt(‘请输入用户名:’);        //弹出一个输入提示框
    window.confirm(‘您确定要关闭当前页面吗?’);    //弹出一个确认框

常见的浏览器的核心:
    (1)IE的核心:Trident(双引擎)
    (2)Chrome的核心:Webkit(渲染引擎)+V8(脚本解释)
    (3)Safari的核心:Webkit(双引擎)
    (4)Opera的核心:Presto(双引擎-o-) / Webkit(双引擎)
    (5)Firefox的核心:Gecko(双引擎)
    
数据类型转换函数:
    toString()
        转换成字符串,所有数据类型均可以转换为string类型
    parseInt()
        解析出一个string或number的整数部分
        如果没有可以转换的部分,则返回NaN
    parseFloat()
        解析出一个string的浮点数部分
        如果没有可以转换的部分,则返回NaN
    Number()
        把一个string解析为number
        如果包含非法字符,则返回NaN
        
isNaN函数
    isNaN()    
        用于判断其参数是否为一个“非数字(NaN)”值
        如果把NaN与任何值包括自身相比得到的结果均是false,所以要判断某个值是否是NaN,不能使用==或===运算符。这种情况下,只能使用isNaN()函数
        通常用于检测类型转换函数的运算结果,以判断它们表示的是否是合法的数字
        例:
            console.log(isNaN('123.4a'));                    //true
            console.log(isNaN(parseInt('123.4a')));            //false
            console.log(isNaN(parseFloat('123.4a')));        //false
            console.log(isNaN(Number('123.4a')));            //true

强制转换和自动转换
    自动转换:  ‘abc’+123   123+true
    强制转换:
            var n1 = 123;
            var s1 = n1.toString();
            var s2 = String(n1);
            var s3 = ‘456.789abc123’;
            var i1 = parseInt(s3);        //456
            var f1 = parseFloat(s3);    //456.789
            var n2 = Number(s3);        //NaN
            
比较null和undefined的区别    
    null
        语义:存在该数据,但当前还不存在确定的值(存在,但却还没有确定的值)
        null在程序中代表“无值”或者“无对象”
        可以通过给一个变量赋值null来清除变量的内容
        例:
            var demo = new Object();
            demo.manager = null;
    undefined
        语义:不存在该数据(不存在)    
        声明了一个变量但从未赋值或者对象属性不存在
        例:
            var msg;
            console.log(msg);

关系运算符
    >        number和string比较时,自动把string解析为number
    <        number和string比较时,自动把string解析为number
    >=        number和string比较时,自动把string解析为number
    <=        number和string比较时,自动把string解析为number
    ==        number和string比较时,自动把string解析为number
    !=        number和string比较时,自动把string解析为number
    ===        只有类型、值都相同,才判定为true
    !==        只要类型或值有一项不同,即判定为true
补充运算符:
    typeof:  用于判定变量的类型
    例:
        var str;
        console.log(str);        //undefined

URL和URI的关系
    URI
        URI:Unified Resource Identifier——不能出现空白字符、中文
        URI 是一个用于标识某一互联网资源名称的字符串。 该种标识允许用户对任何(包括本地和互联网)的资源通过特定的协议进行交互操作。URI一般由三部分组成:一、主机名。二、标志符。三、相对URI。
        协议://用户名:密码@主机名(IP地址):端口号/路径/名称?查询字符串#锚点名
        如:  
               ftp://tom:123@192.168.0.1:2121/day23/img/1.jpg
            http://www.baidu.com/index.php?w=javascript
        总结:URL是一种特殊的URI    
    URL
        URL:Unified Resource Locator
        URL:URL 统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
        基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。完整的、带有授权部分的普通统一资源标志符语法看上去如下:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志
        如:  
               ftp://tom:123@192.168.0.1:2121/day23/img/1.jpg
            http://www.baidu.com/index.php?w=javascript
       
    URN:  <a href=”mailto: admin@tarena.com”>给管理员发邮件</a>

js-基础(1)的更多相关文章

  1. js 基础篇(点击事件轮播图的实现)

    轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...

  2. js 基础

    js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...

  3. js基础练习二之简易日历

    今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月 ...

  4. [JS复习] JS 基础知识

    项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display  :inline or bloc ...

  5. JS基础(超级简单)

    1     JS基础(超级简单) 1.1 数据类型 1.1.1   基本类型: 1)        Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2)       ...

  6. Node.js基础与实战

    Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP& ...

  7. js基础到精通全面教程--JS教程

    适合阅读范围:对JavaScript一无所知-离精通只差一步之遥的人 基础知识:HTML JavaScript就这么回事1:基础知识 1 创建脚本块 1: <script language=”J ...

  8. JS基础知识总结

      js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划() ...

  9. js基础篇——call/apply、arguments、undefined/null

    a.call和apply方法详解 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象 ...

  10. js基础知识总结(2016.11.1)

    js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...

随机推荐

  1. 解决ASP.NET在IE10中Session丢失问题【转】

    今天发现在IE10中登录我公司的一个网站时,点击其它菜单,页面总会自动重新退出到登录页,后检查发现,IE10送出的HTTP头,和.AUTH Cookie都没问题,但使用表单验证机制(FormsAuth ...

  2. JS 获取自定义标签

    <abc-aaa xwe='sdf'>AAAAAAAAAAAAAAAAAAAAAA</abc-aaa> alert($("abc-aaa").attr(&q ...

  3. WinDbg使用介绍

    Windbg工作空间 WinDbg使用工作空间来描述和存储调试项目的属性.参数及调试器设置等信息.工作空间与vc中的项目文件很相似.WinDbg定义了两种工作空间,一种为默认工作空间,另一种为命名的工 ...

  4. 【Python】winpython下的包安装

    1.安装easy_install http://blog.csdn.net/A8572785/article/details/10945237 2.与ipython兼容的ipdb命令 pip inst ...

  5. Flink 剖析

    1.概述 在如今数据爆炸的时代,企业的数据量与日俱增,大数据产品层出不穷.今天给大家分享一款产品—— Apache Flink,目前,已是 Apache 顶级项目之一.那么,接下来,笔者为大家介绍Fl ...

  6. 不同iOS版本做代码适配__IPHONE_OS_VERSION_MAX_ALLOWED 和 __IPHONE_8_0等专业术语

    目前开发只想最低版本支持iOS8了,iOS8以前的就不管了,然后现在iOS9和iOS10出来以后,有些新的API,也有些弃用的API,为了兼容,有时候代码里面需要编写判断不同iOS版本,或者只允许指定 ...

  7. aspcms常见问题解决方案

    1.产品详细页读取多张产品图片(栏目类型:产品){aspcms:cimages count=16 contentid=[content:id]}<li onmouseover="sho ...

  8. CSS 会被继承的属性

    文本 color(颜色,a元素除外) direction(方向) font(字体) font-family(字体系列) font-size(字体大小) font-style(用于设置斜体) font- ...

  9. PHP vs Python

    最近在搞微信公众号方面的开发,发现很多开发微信公众号都使用PHP来开发,由于我之前开发Web端喜欢使用Python,所以从Quora网站找出一篇Which-is-better-PHP-or-Pytho ...

  10. NPM 与 left-pad 事件:我们是不是早已忘记该如何好好地编程?

    转自:http://www.techug.com/npm-left-pad-have-we-forgotten-how-to-program 开发者朋友们,我们该谈一谈这个问题了.你们应该知道本周的  ...