JavaScript入门

JavaScript是由浏览器执行的。js是基于对象和事件的脚本语言,主要应用在客户端,由浏览器来执行js代码。可以与用户执行信息交互。

  安全性,不允许访问本地硬盘。
  跨平台只要有一个支持js的浏览器即可。
  js也是一门编程语言,所以也具有编程语言的基本特性,比如:数据类型、变量、语句、函数、数组、对象等,但表现形式可能与c#不一样。
  什么是脚本:直接可以执行的代码(无需编译)
  导入外部js的好处:1.多个页面共享js代码,减少网络流量,方便后期维护、扩展。2.代码复用。
 
使用js要注意的地方

       大小写敏感,js语言严格区分大小写。(n与N是两个不同的变量。)

  js中定义字符串可以使用“双引号”也可以使用“单引号”。推荐:html中使用“双引号”,js中使用“单引号”,避免后续可能发生的冲突。

    没有显示数据类型,声明变量都用var(variable缩写)关键字。所有变量都用var来声明。

  每条语句后用 “;” 来结尾(不是必须,但建议加上)。虽然语句结尾处不加“分号”也可以,

  原因有2:

           一、可以放心的做js压缩(压缩多余空白)。

           二、提高代码可读性、性能(省却了编译器加分号的步骤)、避免错误。

  var定义变量,在整个页面都有效。
  弱类型语言:支持“动态类型”。编译的时候不知道数据,在执行的时候才能知道变量类型
 注释
  单行注释://这里是注释代码【建议:对于代码推荐都用“单行注释”】
  块级注释:/* 这里是注释代码 */【建议:对于说明性文字使用“块级注释”】
  变量命名规则:以字母、下划线或$开头,中间可以包括字母、数字、下划线或$。
  执行顺序从上到下依次执行
  一个页面可以有多个js块,当js中只要有一点错就不执行。但不影响其他js块
 
js中的数据类型

  undefined:使用var声明变量,但是未对初始化的,这个变量就是Undefined类型的

  Null:也只有一个值:null.null表示一个空对象的指针。

  Boolean:两个字面量true和false

  Number:包括整数和浮点数 NaN

    例如:1/0 返回的就是NaN。NaN的特点:1、任何涉及NaN的操作都会返回NaN。2、NaN对任何值都不相等,包括自己NaN本身。
      针对NaN特性,JS内置了isNaN()函数,来确定数值是不是NaN类型。
 String:自负串类型
 注意: null表示已知的值,表示一个空对象。undefined表示未定义
  判断一个对象是否可用
iftypeof(v)!='undefined'&&v!=null)
{
可用
}
else{处理}
常用判断:任何一个变量都可以放在if里,这里会把v转换为boolean再判断。空字符串,0,null NaN都是flase
if(v){
alert('可用');
}
else{
alert('不可用');
}

 

==与===
  ==判断的时候会先比较数据类型,只要存储的内容相同就认为相同,如果数据类型不同,则会把其中的值尝试转换为相同类型,如果不可以转,则返回flase
  ==认为null与undefined、null与null、undefined与undefined是相等的。
  ===全等于,首先判断数据类型是否一样,如果一样再判断值是否一样,如果数据类型不一样则直接返回flase,swith用的全等于;
js变量
  在页面上直接声明的变量即为“全局变量”,此处的全局变量意思是说在整个当前页面中都能访问的变量“全局变量”默认都是属于window对象的成员。“全局变量”直到页面关闭或浏览器关闭才释放资源。
  全局变量在页面的每个<script>标签中都能访问。
  全局变量容易引起“命名冲突”
  变量在方法内任何地方声明的变量在整个方法内都有效;没有块级作用域,js中同样不能有重名的变量,js中发现变量重复声明后会自动忽略后面的声明,只用第一次声明的变量。
例如:结果是110
        var y = 100;
        function f1() {
            var sum = y + 10;
            if (sum > 50) {
                var x = sum;
            }
            alert('===='+x+'===');
        }
        f1();

例子:结果是110,110

注意:js中声明变量的时候可以写var也可以不写。不写的时候表示在整个页面中都有效。等同于var sum(一定要写var)

        var y = 100;
        function f1() {
            sum = y + 10;
            alert(sum);
        }
        f1();
        alert(sum);

js中的数据类型转换

    var n1=parseInt('1000');字符串转换为整数,先判断第一个字符串转换为数字,知道遇到第一个不能转换为数字类型的字符。
结果Nan(not a Number),不是数字,但它的类型是number,判断nan时不能用==也不能用===,它表示不知道。,需要使用函数isNaN();
我们还是看个例子吧:
 
        var n1 = parseInt('1a000.65');
        alert(n1);
        var n2 = parseInt('x5b');
        alert(n2);
        var sum = n1 + n2;
        alert(sum);

你觉得结果会是什么呢?思考一下,其实你还可以运行一下啦,

我告诉你吧,

n1=1;why?先判断第一个字符串转换为数字(1a000.65)第一个数字是1哦,知道遇到第一个不能转换为数字类型的字符

n2=NAN;why?第一个不是数字,所以是nan

sum=NaN;why?看下数据类型中的number介绍吧=====任何涉及NaN的操作都会返回NaN。

再来一个例子吧:

        var sum;
        for (var i = 1; i < 5; i++) {
            sum += i;
        }
        alert(sum);

sum是NaN????

看清楚下面 第一次循环的时候sum的类型是undefined,i=1,两个数相加后类型是NaN,然后再循环类型相加结果一直就是NaN。

好吧,今天就写到这里,有不足之处希望大家给予指正,我很乐意和大家交流!

 

 
 
  
 
posted @ 2013-07-01 16:23  卡西法儿  阅读(238)  评论(0编辑  收藏  举报