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
- JavaScript基础知识1
- Javascript基础知识(1)
- Javascript-基础知识(1)
- JavaScript基础知识1
- javascript基础知识1
- Javascript学习1-基础知识
- JavaScript基础知识整理1
- javaScript基础知识1
- JavaScript基础知识(1)
- JavaScript基础知识(1)
- JavaScript基础知识1
- javascript基础知识整理1
- JavaScript精简学习1:基础知识
- JavaScript学习笔记(1)基础知识
- javascript基础知识
- JavaScript基础知识
- javascript基础知识
- javascript基础知识
- tomcat+nginx+redis实现均衡负载、session共享(一)
- 深入理解PHP内核[读书笔记]--第四章:函数的实现 --匿名函数及闭包
- 23种设计模式~单例模式
- Struts2整合Hibernate项目遇到的那些坑
- PHP的优缺点
- JavaScript基础知识(1)
- os 攻击 之 HTTP Flood 别名 cc攻击
- 11
- 在zkcli中怎样操作才会触发com.101tec.ZKClient实现中的subscribeDataChanges设置的监听器
- 51Nod-1004 n^n的末位数字【快速模幂】
- 电商 秒杀系统 设计思路和实现方法
- AIDL使用Demo
- 学生管理系统的设计与实现
- Linux账户的添加与删除