zoukankan      html  css  js  c++  java
  • 二、JavaScript基础(1)

    1、JavaScript 基于对象和事件驱动的脚步语言,主要应用在客户端
    特点:交互性(信息的动态交互)、安全性(不可直接访问本地硬盘)、跨平台性(只要可以解析js的浏览器
    都可以执行,与平台无关)

    2、JavaScript与java不同:
    js是基于对象的,java是面向对象的
    js只需解析就可以执行,而java需要先编译成字节码文件,再执行。
    js是一种弱类型语言,java是强类型语言

    3、JavaScript语言组成(3部分组成)
    核心(ECMAscript)
    文档对象模型(DOM)
    浏览器对象模型(BOM)

    4、js编写
    HTML的<script>标签用于把js插入HTML页面当中
    编写js两种方式:内部JS和外部JS
    内部JS程序,在HTML源码中
    <script type="text/javascript">
    alert(1);
    </script>
    language属性不赞成使用,请使用type属性替代

    外部JS程序,在HTML中引入单独的JS程序
    <script type="text/javascript" src="1.js"></script>
    1.js内容
    alert(2);
    在引用外部JS的script标签间不能编写JavaScript代码

    5、基本语法
    变量是弱类型:var a = 10;var b = true; var c = "hello";
    注释:单行注释以双斜杆开头(//) 多行注释以(/*)开头,以(*/)结尾

    5、JS的数据类型
    和java一样存在两种数据类型:
    原始值(存储在栈stack中简单数据)
    引用值(存储在堆heap中对象)

    5种原始数据:Undefined(定义未初始化/访问对象不存在属性)、Null(访问的对象不存在)、Boolean、Number和String
    JS中字符串是原始数据类型

    查看变量类型: typeof(变量名称),所有引用对象都是object
    通过instanceof运算符解决typeof对象类型判断问题

    6、JS语句
    =赋值,switch语句与java一样,for也一样,但定义变量使用var,不要写错java的int

    7、JS运算符
    js除法中没有整数,会出现小数(都是数字类型)
    字符串与数字相加,是字符串链接;如果相减,字符串直接转换成数字再相减。
    Boolean运算,false就是0或null,非0非空是true,默认用1显示
    ++ --等和java一样

    8、JS数组
    两种顶底方式:
    var arr = [1,2,4];定义一个数组,包含三个元素
    var arr = new Array(5);定义一个数组,数组长度是5
    var arr = new Array(1,2,4);定义数组,包含三个元素
    属性length

    9、JS函数定义
    方式一:
    function add(a,b){
    return a+b;
    }
    方式二:
    var add = function(a,b){return a+b;}
    方式三:不推荐
    var add = new Function('a','b',return a+b;);
    最后一个参数是函数体,之前是可变参数

    10、JS函数的重载
    Java重载:方法名相同 参数个数 或参数 类型不同
    JavaScript中是否存在重载
    需要使用一个对象arguments
    arguments就是一个数组,用于存储函数传入的参数的个数

    11、JS全局变量和局部变量
    全局变量:在<script>标签中间定义的变量,在标签内乃至整个页面都有效
    局部变量:在函数体内定义的变量

    12、JS对象之String
    String对象的方法分为两类:1、与html有关的方法;2、另一种和java的string相似的方法

    13、JS对象之Array对象
    见8,常用方法有:
    concat() 连接两个或更多的数组,并返回结果。
    join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
    pop() 删除并返回数组的最后一个元素
    push() 向数组的末尾添加一个或更多元素,并返回新的长度。
    reverse()颠倒数组中元素的顺序

    14、JS对象之Date对象
    创建Date对象:var date = new Date();
    常用方法:
    getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)
    getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)
    getMonth() 从 Date 对象返回月份 (0 ~ 11)
    getFullYear() 从 Date 对象以四位数字返回年份
    getTime() 返回 1970 年 1 月 1 日至今的毫秒数
    常用在防止浏览器缓存时候
    setTime() 根据毫秒数设置时间
    toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串

    15、JS对象之Math对象
    Math对象中的方法全部是静态方法,所以不用new直接调用即可。
    常用方法:
    ceil(x) 对一个数进行上舍入。
    floor(x) 对一个数进行下舍入。
    round(x) 把一个数四舍五入为最接近的整数
    pow(x,y) 返回 x 的 y 次幂
    random() 返回 0 ~ 1 之间的随机数

    16、JS全局函数global
    (1)encodeURI / decodeURI 编解码URI
    进行url跳转时可以整体使用encodeURI

    (2)escape / unescape 对字符串进行unicode编码
    1、escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
    2、encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
    3、encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

    isNaN 检查某个值是否为数字
    eval 把javascript 字符串作为脚本代码来执行
    parseInt方法:把字符串转换成整数

  • 相关阅读:
    DP--HDU 1003求数字串中的最大连续序列(含有DP过程详细分析)
    递归+DFS--简单迷宫问题--百练2802
    枚举--百练2812--恼人的青蛙(内含枚举基本思想总结)
    计蒜客:最大子阵
    hdu 4515 小Q系列故事——世界上最遥远的距离
    日期计算
    最大最小公倍数
    hdu 1568 Fibonacci
    矩阵快速幂
    矩阵乘法
  • 原文地址:https://www.cnblogs.com/highpointengineer/p/10560469.html
Copyright © 2011-2022 走看看