zoukankan      html  css  js  c++  java
  • JavaScript讲义(一)

    运行JS:使用<script.../>,或者javascript:前缀构建执行JS代码的URL。
    方法二的示例:<a href="javascript:alert('lvwenjun');"/>运行示例</a>

    导入JS文件:可以单独保存为一个.js文件,HTML页面导入该文件即可。

    数据类型和变量:
    -----------------------
    虽然JS是弱类型语言,但也有变量声明,作用域(局部和全局)。
    定义变量的方式:隐式(直接给变量赋值);显式(用var)。
    示例:var a; a = true; //声明时变量可以没有初始值,声明的数据类型不确定。赋值后,数据类型才确定,后续也可以随意更改。

    类型转换:
    示例:
    var a="3.145";
    var b=a-2;
    var c=a+2;
    结果是:b=1.145, c="3.1452";//因为字符串不支持减法,所以自动将字符串转换成整数。
    自动类型转换虽然方便,但程序可读性差。比如有时我们希望让字符串和数值执行加法,就需要用强制类型转换:toString(),parseInt(),parseFloat()。

    变量:
    作用域,与java,C语言不同的是,JS的变量没有块范围。
    var scope="全局变量";
    function test()
    {
    document.writeln(scope+"<br />");
    var scope="局部变量";
    document.writeln(scope+"<br />");
    }
    输出结果:undefined;局部变量 //因为JS变量没有块范围,在函数内用了var定义了scope,系统会强制定义一个新变量,这个新定义的局部变量就覆盖了全局变量;如果去掉这个var,那输出结果将变为:全局变量;局部变量


    基本数据类型
    ---------------------------
    数值类型:
    JS变量的数据类型是解释时动态决定的。它有5中基本数据类型:数值,布尔,字符串,undefined(确定一个已经创建但没有初值的变量),null(表明某个变量值为空)
    两个Infinity的值总是相等的。JS的算数运算符允许除数为0(除数和被除数可同时为0,结果为NaN),正数除以0结果是Infinity,负数除以0结果是-Infinity。

    NaN是一个特殊数值,Not a Number,表示非数。NaN与Infinity不同,NaN不会与任何数值变量相等,也就是NaN==NaN也返回false.需要专门的isNaN()函数判断某个变量是否为NaN。

    判断两个浮点数是否相等,通过判断两个浮点型变量的差值小于一个足够小的数即可。

    字符串类型:
    JS没有字符类型,或者说字符类型和字符串类型相同。
    与Java相比:JS字符串可以用单引号;JS比较两个字符串是否相等用==即可,不需要equals().
    indexOf:搜索目标字符串出现的位置,lastIndexOf:搜索目标字符串最后一次出现的位置。如果没有搜到,返回-1.
    slice(3,-1):取得第4个(包括)到倒数第1个(不包括)的子串
    match(),search()都用正则表达式作为子串:前者返回匹配的子字符串,后者返回匹配的索引值。
    示例:var s = "abfd--abc@d.comcdefg";
    a=s.search(/[a-z]+@d.[a-zA-Z]{2}m/)
    var str="1dfd2dfs3df5";
    var b=str.match(/\d/g);

    undefined和null:

  • 相关阅读:
    usaco 1.3.1 Mixing Milk
    ACM必备(学完一个就加亮一个)不多,就这些!
    usaco1.2.4Palindromic Squares
    usaco 1.2.3 Name That Number
    coursera机器学习笔记机器学习概论,梯度下降法
    coursera机器学习笔记多元线性回归,normal equation
    coursera机器学习支持向量机SVM
    使用C/C++,赋值运算时发生的转换
    coursera机器学习logistic回归,正则化
    coursera机器学习笔记神经网络,初识篇
  • 原文地址:https://www.cnblogs.com/jinji/p/5995282.html
Copyright © 2011-2022 走看看