JS感悟

JS基础教程1

Javascript的组成:

  • ECMAScript: 解释器 翻译 无兼容性问题
  • DOM: Document Object Model ----- 把文档或网页变成可以操作的对象 e.g. document. 大部分兼容
  • BOM Browser Object Model ----- 操作浏览器的能力 (打印,复制到剪切板) e.g. window. 几乎完全不兼容

变量的类型:

变量像个容器,存入什么类型的值它就会变成什么类型.

1.number:

在JS中,数字类型不区分 int , float , double... 只有number.

var a=12;
alert(typeof a);    //number

2. string:

var a='abc';
alert(typeof a);    //string

3. boolean:

var a=true;
alert(typeof a);    //boolean

4-1.undefined:
未定义的变量其类型为undefined.

alert(typeof b);    //undefined
4-2.undefined:
定义但未赋值的变量其类型为undefined
var b;
alert(typeof b);    //undefined
5. function:

a=function ()
{
    alert('abc');
}
alert(typeof a);    //function

6-1. object:

对象是由 number,string,boolean,undefined这些最基本的元素组成的.

window.οnlοad=function ()
{
    a=document.getElementById('div1');
    alert(typeof a);    //object
}
6-2. object:
数组也是有多种基本类型组成的,所以也属于object
var a=[1,2,3,4];
alert(typeof a);    //object

显式类型转换:

parseInt()    //从字符串中提取整数. 相当于从左往右遍历,遇到第一个不是数字的字符为止.
var a='123px';
alert(parseInt(a));    //123
var a='123.6px';
alert(parseInt(a));    //123
NaN    //Not a Number.
var a='abc';
alert(parseInt(a));    //NaN

parseFloat()    //从字符串中提取浮点数.
var a='123.67.89px';
alert(parseFloat(a));   //123.67

NaN与其他数值比较永远不相等,包括它自己.
var a=parseInt('abc');
var b=parseInt('abc');
alert(a==b);    //false

isNaN()    //用于检测是不是NaN, 返回true或false.
var a=parseInt('abc');
alert(isNaN(a));    //true
var a=parseInt('12abc');
alert(isNaN(a));    /false

隐式类型转换:

== 先做类型转换再比较. 或者理解成不考虑类型的比较.

a='12';
b=12;
alert(a==b);    //true ==是先做类型转换再比较. 或者理解成不考虑类型的比较.
alert(a===b);   //false ===是不做类型转换的比较. 或者理解成类型和值军饷等.
- * / 也可以做隐式类型转换. 但+ 不能,因为+数学上的加运算,或者字符串连接.

a='12';
b=34;
alert(a+b); //'1234'
alert(a-b); //-22
alert(a*b); //408
alert(a/b); //0.35...

变量作用域

a 为局部变量,只能在所在函数中起作用,就好像一个班长,出了这个班什么都不是...

b 为全局变量,在所有函数内均有定义.

var b=13;
function aaa ()
{
    var a=12;
}

function bbb ()
{
    alert(a);
    alert(b);
}

aaa();
bbb();    //a未定义    //13

闭包:

父函数和子函数之间可以共用变量

function aaa()  <span style="color:#FF6666;">//父函数</span>
{
    var a=12;
    function bbb()  <span style="color:#FF6666;">//子函数</span>
    {
        var b=13;
        alert(a);
    }
    bbb();
    alert(b);
}
aaa();    //12    //13

变量的命名规范:

<pre style="position: fixed; left: -1000px;">var b=13;
function aaa ()
{
    var a=12;
}

function bbb ()
{
    alert(a);
    alert(b);
}

aaa();
bbb();    //a

var b=13;
function aaa ()
{
    var a=12;
}

function bbb ()
{
    alert(a);
    alert(b);
}

aaa();
bbb();    //a
 
 匈牙利命名法:  
 

  1. 以类型前缀开头
  2. 首字母大写


<pre style="position: fixed; left: -1000px;">a='12';
b=34;
alert(a+b); //'1234'
alert(a-b); //-22
alert(a*b); //408
alert(a/b); //0.35...

a='12';
b=34;
alert(a+b); //'1234'
alert(a-b); //-22
alert(a*b); //408
alert(a/b); //0.35...
 
 

运算符:

  1. 算术运算符
  2. 比较运算符




















































 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值