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. PHP开发程序应该注意的42个优化准则

    PHP 独特的语法混合了 C.Java.Perl 以及 PHP 自创新的语法.它可以比 CGI或者Perl更快速的执行动态网页.用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML ...

  2. JAVA解析XML的四种方法

    XML文件:test.xml <?xml version="1.0" encoding="UTF-8"?> <employees> &l ...

  3. myBatis学习笔记

    java.lang.NullPointerException at cn.itcast.mybatis.dao.UserDaoImpl.findUserById(UserDaoImpl.java:22 ...

  4. BZOJ 1060: [ZJOI2007]时态同步

    Description 一个有根树,你只能进行增加操作,问你将所有叶节点到根的路径权值相同至少需要增加几次. Sol 我也不知道该叫什么算法... 反正就是记录一下到子节点到当前节点的最大距离统计答案 ...

  5. PHP程序员进阶学习书籍参考指南

    PHP程序员进阶学习书籍参考指南 @heiyeluren lastmodify: 2016/2/18     [初阶](基础知识及入门)   01. <PHP与MySQL程序设计(第4版)> ...

  6. Servlet 之 GenericServlet

    我们都知道javaweb中servlet的三大组件 servlet filter listener 实现动态资源的  是可以继承  Servlet接口,或者集成GenericServlet .Http ...

  7. redis 快速入门(win7)

    0:介绍 百度百科or官网 1:下载  选择32位或者64 地址:https://github.com/dmajkic/redis/downloads 1.1下载后如图 1.2文件介绍 redis-s ...

  8. mplayer-1.3.0-2016-09-01.7z

    鼠标右键 快速定位 左SHIFT 记录开始时间 左CTRL 记录结束时间 右CTRL 复制开始结束时间 00:00:00.000 00:00:00.000 右SHIFT 生成视频剪切命令保存到 _cu ...

  9. 为什么operator>>(istream&, string&)能够安全地读入长度未知的字符串?

    一般而言,实现"读入用户输入的字符串",程序中自然不能对用户输入的长度有所限定.这在C++中很容易实现,而在C中确没那么容易. 这一疑问,我在刚学C++的时候也在脑中闪现过:不过很 ...

  10. dateset添加一列

    ds.Tables[].Columns.Add("short_name", System.Type.GetType("System.String"));//直接 ...