JavaScript组成
ECMAScript:解释器、翻译 。平时我们写的代码都是用英文数字之类,而计算机只能读懂0和1,ECMAScript可以把我们写的翻译给计算机,把计算机写的传达给我们
DOM:Document Object Model   文档对象模型     HTML        document    DOM操作HTML的能力
BOM:Browser Object Model      浏览器对象模型  各浏览器     window

ECMA 几乎没有兼容性问题
DOM 有一些操作不兼容
BOM 没有兼容问题(完全不兼容)

DOM : Document Object Model 文档对象模型
文档:html页面
文档对象:页面中元素
文档对象模型:定义 为了能够让程序(js)去操作页面中的元素

DOM会把文档看作是一棵树,同时定义了很多方法来操作这棵数中的每一个元素(节点)
DOM节点

getElementById
getElementByTagName
document
document.body

变量类型

变量本身没有类型,看它存的值

常见类型: number、string、boolean、undefined(真的没定义/定义了没存东西)、object、function
一个变量应该只存放一种类型的数据

测试类型方法:typeof

<script>
var a=12;
//alert(typeof a); //number a='asdfasd';
//alert(typeof a); //string a=true;
//alert(typeof a); //boolean a=function ()
{
alert('abca');
};
//alert(typeof a); //function a=document;
//alert(typeof a); //object
alert(typeof b);    //undefined 没定义
var b;
alert(typeof b); //undefined //1.真的没定义
//2.虽然定义,没有给东西
</script>

类型转换

parseInt()把字符串转换成整数(只能转换成整数)
parseFlaot()把字符串转换成整数小数都适合

从左到右提取遇到不是数字立刻跳出去例如12px提取是12,12px34提取的是12遇到不是数字的跳出去

var a='12px'; alert(parseInt(a)); 弹出的是12
var a='12px34'; alert(parseInt(a)); 弹出的是12
var a='abc'; alert(parseInt(a)); 弹出的是NaN Not a Number 不是数字
var a=parseInt('abc'); var b=parseInt('def'); alert(a==b); 弹出来的是false //NaN和NaN不相等

检测一个结果是不是数字   isNaN非数字

var a=parseInt('abc'); alert(isNaN(a))     弹出的是true   不是数字
var a=12; alert(isNaN(a))                        弹出的是false  是数字

显示类型转换和隐式类型转换
显示类型转换:(又叫强制类型转换)告诉计算机去转换 例如parseInt() parseFlaot()
隐式类型转换:没有告诉计算机去转,计算机自动转换
var a=5; var b='5'  alert(a==b) 弹出的结果是true       计算机自动先转换类型 在比较
var a=5; var b='5'  alert(a===b) 弹出的结果是false    计算机自动不转换类型直接比较
var a='12'; var b='5'  alert(a-b) 弹出的结果是7            计算机自动先转换类型在做运算

在js中 减号只有一种功能那就是做减法运算,而加号有两种功能一个是字符串连接,另一个就是加法运算
var a='12'; var b='5' ; alert(a+b) 弹出的结果是125                                    字符串连接  
var a='12'; var b='5';  alert(parseInt(a)+parseInt(b)) 弹出的结果是17       先强制转换成数字在做加法运算

变量作用域(变量能起作用的范围)
局部变量

<script>
function aaa(){
var a=12;//局部变量 只能在定义它的函数里面使用(但是也有例外就是闭包)
}
function bbb(){
alert(a);
}
aaa();
bbb(); // 弹出报错是"a"未定义 a定义在函数里面
</script>

全局变量

<script>
var a;//全局变量在所有函数外面定义:在任何地方都能用
function aaa(){
a=12;
}
function bbb(){
alert(a);
}
aaa();
bbb(); //弹出12 a定义在函数外面
</script>

闭包

<script>
//子函数可以使用父函数的局部变量
function aaa() //父函数
{
var a=12;
function bbb() //子函数
{
alert(a);
}
bbb();
}
aaa();
</script>

命名规范

可读性——能看懂
规范性——符合规则

匈牙利命名法
类型前缀 例如 aDiv 代表数组 oDiv代表的是对象

首字母大写
例如 oDivUserLogin 比 odivuserlogin都是小写的可读性更高

 




 

02.JavaScript基础上的更多相关文章

  1. 02.JavaScript基础下

    运算符 算术:+ 加.- 减.* 乘./ 除.% 取模 实例:隔行变色.秒转时间 赋值:=.+=.-=.*=./=.%= 关系:<.>.<=.>=.==.===.!=(不等). ...

  2. javascript基础02

    javascript基础02 1.数据类型 数据类型的描述在上篇的扩展中有写到链接 由于ECMAScript数据类型具有动态性,因此的确没有再定义其他数据类型的必要.这句话很重要. 如果以后再数据类型 ...

  3. JavaScript基础第02天笔记

    JavaScript基础第02天 1 - 运算符(操作符) 1.1 运算符的分类 运算符(operator)也被称为操作符,是用于实现赋值.比较和执行算数运算等功能的符号. JavaScript中常用 ...

  4. Web前端-JavaScript基础教程上

    Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...

  5. javascript基础修炼(2)——What's this(上)

    目录 一.this是什么 二.近距离看this 三. this的一般指向规则 四. 基本规则示例 五. 后记 开发者的javascript造诣取决于对[动态]和[异步]这两个词的理解水平. 一.thi ...

  6. JavaScript基础-02

    1. 六种数据类型: string字符串:number数值:boolean布尔值:null空值:undefined 未定义:object对象 基本数据类型(值类型): string字符串:number ...

  7. 谷哥的小弟学前端(11)——JavaScript基础知识(2)

    探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 具体解释Android主流框架不可或缺的基石 站在源代码的肩膀上全解Scroller工作机制 Android多分辨率适 ...

  8. javaScript系列 [02]-javaScript对象探析

    [02]-javaScript对象探析 题记:多年前,以非常偶然的方式关注了微信公众号“面向对象”,本以为这个公众号主要以分享面向对象编程的干货为主,不料其乃实实在在的猿圈相亲平台.通过查看公开资料, ...

  9. JavaScript基础视频教程总结(031-040章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

随机推荐

  1. 布局之按钮的图片分辨率--Android Studio

    在布局页面,想把取消按钮和确认钮大小一致,刚开始想法是错的,不用在控制层设置,也不用在布局层压缩图片,有两个方法法: 1.直接用美图秀秀“尺寸”功能,修改成另一按钮一样的分辨率. 2.设置按钮相同高度 ...

  2. Coursera-Getting and Cleaning Data-Week2-课程笔记

    Coursera-Getting and Cleaning Data-Week2 Saturday, January 17, 2015 课程概述 week2主要是介绍从各个来源读取数据.包括MySql ...

  3. func_get_arg、func_get_args、func_num_args实现PHP伪重载

    今天在看书的时候,发现书上有这么一条:函数重载的替代方法——伪重载 确实,在PHP中没有函数重载这个概念,让很多时候我们无法进行一些处理,甚至有时候不得不在函数后面定义好N个参数在看到了func_ge ...

  4. 摄像头拍照,PHP输入流php://input的使用分析

    在做一个摄像头拍照然后上传的功能,php中使用php://input来获取内容.于是就了解了下php://input. 从官网信息来看,php://input是一个只读信息流,当请求方式是post的, ...

  5. Spring中的JdbcTemplate使用

    1.引出SpringJDBC的概念 在学习JDBC编程时我们会感觉到JDBC的操作是多么繁琐,那么当我们学习的Hibernate框架时,我们感觉到数据库的操作也变非常简单,提高了开发效率.但是当使用H ...

  6. css-单位%号-background-size-background-position-遁地龙卷风

    (-1)写在前面 我用的是chrome49,这篇是为后续做准备.重要性的调整以及毕业资料的整体导致最近没看JQuery和H5特效,以后只能晚上看了. (0)准备 div长宽都为300px,我们一张大小 ...

  7. 数据库分库分表(sharding)系列(一) 拆分规则

    第一部分:实施策略 数据库分库分表(sharding)实施策略图解 1. 垂直切分垂直切分的依据原则是:将业务紧密,表间关联密切的表划分在一起,例如同一模块的表.结合已经准备好的数据库ER图或领域模型 ...

  8. Oracle分析函数(一)

    一.总体介绍 分析函数如何工作 语法 FUNCTION_NAME(<参数>,…) OVER (<PARTITION BY 表达式,…> <ORDER BY 表达式 < ...

  9. C#中将DataTable转成List

    学习MVC的时候,使用List<T>来存储数据给前台,但是从数据库中直接读取得到的是DataTable,虽然可以直接循环DataTable来得到list,但是如果每个实体类都通过这样的得到 ...

  10. 将speedbutton放在toolbar上,flat设为true,并将speedbutton的width和height设得比较大,在speedbutton中间会出现一条竖线,如何消去?

    把toolbar的flat设为false就没有竖线了