(一)js概述

1.    js:弱类型,动态类型,解释型的脚本语言.
2.    网景,布兰登艾奇,js和java没有关系,js的标准:ECMAscript.
3.    js组成:ECMAscript + Bom + Dom.(BOM描述了与浏览器进行交互的方法和接口,DOM描述了处理网页内容的方法和接口).
4.    script标签 type="text/css"(现已淘汰!) src属性.
5.    alert();document.write(),document.writeln().
6.    实体符号:&entity_name;或者&entity_no;(详情见实体编码符号).
7.    var 创建变量
8.变量名命名规则
    驼峰命名法: var haveGoodGoods = '有好货';
    帕斯卡命名法:var HaveGoodGoods = '有好货';
    匈牙利命名法:var sHaveGoodGoods = '有好货';
    My Style:var Have_Good_goods = '有好货';
9.    保留关键词.
10.    数据类型:字符串,数值,布尔,null,undefined,object,function.
11.    检测数据类型 typeof.
12.代码书写规范.
a)    代码缩进。
b)    +、=等运算符两边的空格。
c)    语句结束以分号结尾。
d)    小括号的嵌套,要加空格。
e)    双引号、单引号的嵌套。
13.运算符
a)    +,-,*,/,%,++,--(算数运算符)=、+=、-=、*=、/=、%=(赋值运算符)&& || !(逻辑运算符)? :;(三目运算符).
注:优先级为逻辑运算符的优先级大于其他.取余时,结果的正负只与第一个数的正负有关 !
b)    自增与自减.
eg:    ++a a的前自增:变量本身先自增1,然后在将结果赋予当前位置
       a++ a的后自增:变量的值先赋予当前位置,然后变量本身再自增1
14.数据类型转换
a)自主转换
    Math.round()四舍五入;
    parseInt()将字符串转换成整数;
    Number()转换成数字类型;
    String()转换成字符串类型,或者在前面加上''强制转换为字符串类型;
    parseFloat()转换成浮点型带有小数点的数值.
b)强制自行转换:
eg:(隐世转换为字符串的场景)    
    alert(5 + '1')result = 51;
       alert(null+'1')result = null1;
       alert([] + '1')result = [object object];
   (隐世转换成数值的场景)
       alert('5' - 1)result = 4;
       alert(null - 1)result -1;
       alert(undefind - 1)result = MaN;(NaN = '不是一个数字:not a number');
   (隐世转换布尔值得场景)
       if(5){
           alert('OK!');
       };
   (特殊的转换)
       alert(null == undefined)result = true;
       alert(null == false)result = false;
       alert(undefined == false)result = false;
15.进制的转换.
    二进制,八进制,十进制,十六进制.
eg:八进制转换为十进制过程:
    从右往左依次*8的0123...次方;
   十六进制转换为十进制的过程:;
       从右往左依次*16的123...次方;
   十进制转换八进制:  从上往下依次除.
16.==和===的区别
a)    var a = 4,b = '4';
    document.write(a == b); true
    document.write(a === b); false
b)    var a = {},b = {};
    document.write(a == b); false
    document.write(a == b); false
注:    对于string和number等基本类型,不同类型之间比较,==比较会将变量隐式转换成同一类型的值进行比较。而===如果类型不同,其结果就是不等。
    如果是array和object等引用类型,==和===没有区别,如果两个的变量是同一个对象就为true,否则为false。
    基本类型和引用类型进行比较,==会将引用类型转换成基本类型,再进行值比较。而===因为类型不同,结果为false。
17.isNaN()函数用来检测变量是不是NaN类型
18.对象内容由 键值对组成,键值可以是任意的变量,值可以使任意的数据类型.如果对象的属性时函数的话,我们撑他为方法.
19.数据类型的转换
eg:    var obj = {
    valueOf : function(){
        return {};
    }
    toString : function(){
        return {};
    }
}
document.write(Number(obj));结果会报错.
注:执行顺序为先调用对象obj上的第一个行为,如果该行为返回的不是基本数据类型,则继续寻找obj对象的第二个方法.如果第二个方法还不是一个基本数据类型,则报错!
      
    
 
 
 
 
   
原文地址:https://www.cnblogs.com/bgwhite/p/9375577.html