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. 5、Servlet的使用

    一.什么是Servlet:用于开发动态Web资源的的技术.使用Servlet可以读取来自用户端的数据,而实现了用户与服务器之间的动态数据交互.更简单的说就是连接页面和代码. 1.开发一个动态的Web资 ...

  2. [Qt]用QItemDelegate的来修改QStandardItem字体颜色

    1.重写ItemDelegate的Item方法 这里我使用的QListView来显示Log日志,将写好的代理在初始化中就可以直接赋值上. m_LogModel = new QStandardItemM ...

  3. PHP中常见的五种设计模式

    设计模式只是为 Java架构师准备的 — 至少您可能一直这样认为.实际上,设计模式对于每个人都非常有用.如果这些工具不是 “架构太空人” 的专利,那么它们又是什么?为什么说它们在 PHP 应用程序中非 ...

  4. 优化MySQL数据库性能的八大方法

    本文探讨了提高MySQL 数据库性能的思路,并从8个方面给出了具体的解决方法. 1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就 ...

  5. .htaccess 基础教程(一)

    .htaccess是什么? .htaccess叫分布式配置文件,它提供了针对目录改变配置的方法——在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.并且子目录中的 ...

  6. Shell入门教程:Shell当中的特殊变量

    Shell当中的特殊变量 一.保留变量 $IFS 这个变量中保存了用于分割输入参数的分割字符,默认识空格. $HOME 这个变量中存储了当前用户的根目录路径. $PATH 这个变量中存储了当前 She ...

  7. vue2.0学习(二)

    1.关于模板渲染,当需要渲染多个元素时可以 <ul> <template v-for="item in items"> <li>{{ item. ...

  8. 欢迎加入threejs

    Threejs is the coolest graphics rendering engine I have ever seen, so what is threejs, Now, we have ...

  9. Sublime Text3中Autoprefixer失效解决方法

    进入CSS文件,默认配置在按下快捷键(Ctrl+Shift+P)后输入Autoprefix,你会发觉它什么事也没干,然后--这什么鬼?抓狂ing-- 原来是因为这玩意还要配置下,以下为配置方法: Pr ...

  10. MSSQL-to-MySQL v5.3, 从MSSQL迁移到mySQL的最佳工具

    将现有的MSSQL数据库迁移到MySQL数据库,尝试了很多种工具 MySQL Workbench / MSSQL to MySQL Export / DB Converter / openDBcopy ...