JavaScript基础知识(1)

来源:互联网 发布:吉林市知鼎人才网 编辑:程序博客网 时间:2024/05/17 23:46

JS组成

ECMAScript(解释器:把我们的语言解释给计算器)核心

DOM(Document Object Model)赋予了js操作html的能力
document

BOM(Browse Objectr Model)操作浏览器(例如谈窗口等和浏览器打交道的操作) window

兼容性
ECMA 几乎没有兼容问题

DOM 有一些操作不兼容

BOM 无兼容问题(完全不兼容)


变量类型

类型:typeof运算符

提示:一个变量最好只存一种类型数据

number 数字

<script> var a=12;      alert(typeof a);  //弹出number </script>

string 字符

<script>alert(typeof a);   //弹string </script>

**以下 <script></script>省略

boolean 布尔

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

function 函数

a=function(){ alert('aaa') ;};      //弹出function

object 对象

a=document;   alert(typeof a);   //弹出object

undefind 未定义(1.真的未定义2.定义了但没有值)
1.

 alert(typeof b);

2.

 var b;  alert(typeof b)

字符串转成数字

parseInt
例1:

var a='12';alert(parseInt(a)+1);   //弹出结果13

例2:

var a='12px';alert(parseInt(a));   //弹出结果12

例3:

var a='12px45144';alert(parseInt(a));   //弹出结果12

例4:

var a='abc';alert(parseInt(a));   //弹出结果NaN(Not a Number非数字)

总结:从第一个字符开始判断是否为数字,遇到不是数字的就会跳出;


判断parseInt结果是否为NaN

例1:

var a=parseInt('abc');var b=parseInt('ccc');alert(a==b);          //结果本应该为true,但是此时弹出结果为false

结论:NaN和NaN不相等。

例2:

var a=parseInt('abc');alert(isNaN(a));   //结果为true

结论:判断parseInt结果是否为NaN,可以用js里面提供的一个函数isNaN()来判断 。


parseInt是用来转换成整数的
例:

var a='3.5';alert(parseInt(a));  // 结果为3

parseFloat是用来转换成小数的

var a='3.5';alert(parseFloat(a));  // 结果为3.5

若想转一个数字,但不知道是小数还是整数,不用担心,用parseFloat都可以
例:

var a='3';alert(parseFloat(a));  // 结果为3

隐式类型转换

例1:

var a=5; //数字var b='5'; //字符alert(a==b); //结果为true               alert(a===b); //结果为false  

双等号先转换类型,然后比较
三等号不转换类型,直接比较
例2:

var a='12';var b='5';alert(a+b);  //结果为125 

“+”号的功能
1.字符串连接
2.数字相加

例3:

var a='12';var b='5';alert(a-b);  //结果为7 

“-”号作用 数字相减


变量作用域(变量作用范围)

例1:

function aa(){var a=12;   //局部变量       只能在定义的函数中使用,即目前只能在aa()中使用} function bb(){alert(a);                   //此处报错 "此处a未定义"}

例2:

var a;              //全局变量       在任何地方都能用function aa(){a=12;   } function bb(){alert(a);                   //弹出12}

闭包

什么是闭包:子函数可以使用父函数的局部变量

function aa()   //父函数{var a=12;   function bb(){   //子函数alert(a);                 }bb();} aa();  //弹出12

命名规范

可读性(能看懂)
类似aaa、bbb的少用,尽量使用一些可以从名字看出意义的名字

规范性(符合规则)

匈牙利命名法:
类型前缀:
这里写图片描述

首字母大写
例如:getElementById oDivUserLogin
反例:getelementbyid odivuserlogin

原创粉丝点击