自学javascript

几大主流的浏览器及其内核
IE                        trident
chrome               webkit/blink
firefox                 gecko
opera                  presto
safari                  webkit


js有两个特点:
1.解释性语言,动态语言
2.单线程(同一时间只能干一件事)

 

引入js的方式:

1.页面引入

    <script type="text/javascript">
        var a = 100
        document.write(a);
    </script>

2.引入外部文件

    <script type="text/javascript" src="test1.js">

    </script>

3.外部文件(单独的一个文件)

注意:当外部文件和页面级js同时存在时,只有外部文件会生效,页面级js不会生效

 

变量:存放数据以便于日后使用

var a; 向系统申明一个变量,申请一个地方,门牌号叫a   叫做变量声明

a = 100; 把100放到a的这个房间里面

 

正常情况,开发时会这么命名变量

var a = 10,
            b = 20,
            c = 30,
            d;
document.write(a,b,c,d);

var a = 10;
       a = 20;

20会覆盖前面的10,也就是说一个变量里面只能存储一个数据

 

变量的命名规则

1.变量名必须以英文字母,_,$开头

2.变量名必须以英文字母,_,$,数字

3.不可以用系统的关键字,保留字作为变量名

 

var a = 10;
var b = 20;
var c;
c = a + b;

注意:这里运算大于赋值的优先级,选运算,再赋值给c

 

数据类型:

原始值:number(数字类型) boolean(布尔类型) string(字符串类型) undefined(没有定义的) null(空值,占位的作用)

存储在 stack(栈内存),先进去的后出来,栈内存值与值之间的关系是拷贝

栈内存,存的数据是不可修改的

引用值:array(数组类型) object(对象类型) function(函数类型)  ...date  regexp(正则表达式)

存储在 heap(堆内存),也是先在栈内存申请房间,但是值放在堆内存中,栈内存只存放堆内存的地址

引用值互相之间拷贝的是地址

自学javascript

 

var arr = [1,2];
var arr1 = arr;

arr = [1,3];  这里相当于重新开了一个房间

 

js语句的基本规则:

1.语句后面要用分号结束 “;”

2.js语法错误会引发后续代码终止,但不会影响其他的js代码块

   错误分两种
        1.低级错误(语法解析错误),出现这种错误一行都不会执行
        2.逻辑错误(标准醋味,情有可原),出现这种错误,出错的代码以下不会执行

3.书写格式要规范,= + / -  两边都应该有空格

 

js的运算符:

 +   作用: 1.数学运算   2.字符串链接

-    作用:1.数学运算

*   作用:数学运算

/    作用:数学运算

% (摩尔,取余)

=  作用:赋值

=优先级最低,()优先级最高

++  a = a + 1;  意思就是自身加1,再赋值给自身

       a++  先赋值,再加

       ++a   先加,再赋值

--  减去值,再赋值给自身

 

赋值的顺序自右向左,计算的顺序自左向右

+=  a += 10 + 1; 等于 a = a + 10 + 1