02.JavaScript基础上
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基础上的更多相关文章
- 02.JavaScript基础下
运算符 算术:+ 加.- 减.* 乘./ 除.% 取模 实例:隔行变色.秒转时间 赋值:=.+=.-=.*=./=.%= 关系:<.>.<=.>=.==.===.!=(不等). ...
- javascript基础02
javascript基础02 1.数据类型 数据类型的描述在上篇的扩展中有写到链接 由于ECMAScript数据类型具有动态性,因此的确没有再定义其他数据类型的必要.这句话很重要. 如果以后再数据类型 ...
- JavaScript基础第02天笔记
JavaScript基础第02天 1 - 运算符(操作符) 1.1 运算符的分类 运算符(operator)也被称为操作符,是用于实现赋值.比较和执行算数运算等功能的符号. JavaScript中常用 ...
- Web前端-JavaScript基础教程上
Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...
- javascript基础修炼(2)——What's this(上)
目录 一.this是什么 二.近距离看this 三. this的一般指向规则 四. 基本规则示例 五. 后记 开发者的javascript造诣取决于对[动态]和[异步]这两个词的理解水平. 一.thi ...
- JavaScript基础-02
1. 六种数据类型: string字符串:number数值:boolean布尔值:null空值:undefined 未定义:object对象 基本数据类型(值类型): string字符串:number ...
- 谷哥的小弟学前端(11)——JavaScript基础知识(2)
探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 具体解释Android主流框架不可或缺的基石 站在源代码的肩膀上全解Scroller工作机制 Android多分辨率适 ...
- javaScript系列 [02]-javaScript对象探析
[02]-javaScript对象探析 题记:多年前,以非常偶然的方式关注了微信公众号“面向对象”,本以为这个公众号主要以分享面向对象编程的干货为主,不料其乃实实在在的猿圈相亲平台.通过查看公开资料, ...
- JavaScript基础视频教程总结(031-040章)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
随机推荐
- 5、Servlet的使用
一.什么是Servlet:用于开发动态Web资源的的技术.使用Servlet可以读取来自用户端的数据,而实现了用户与服务器之间的动态数据交互.更简单的说就是连接页面和代码. 1.开发一个动态的Web资 ...
- [Qt]用QItemDelegate的来修改QStandardItem字体颜色
1.重写ItemDelegate的Item方法 这里我使用的QListView来显示Log日志,将写好的代理在初始化中就可以直接赋值上. m_LogModel = new QStandardItemM ...
- PHP中常见的五种设计模式
设计模式只是为 Java架构师准备的 — 至少您可能一直这样认为.实际上,设计模式对于每个人都非常有用.如果这些工具不是 “架构太空人” 的专利,那么它们又是什么?为什么说它们在 PHP 应用程序中非 ...
- 优化MySQL数据库性能的八大方法
本文探讨了提高MySQL 数据库性能的思路,并从8个方面给出了具体的解决方法. 1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就 ...
- .htaccess 基础教程(一)
.htaccess是什么? .htaccess叫分布式配置文件,它提供了针对目录改变配置的方法——在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.并且子目录中的 ...
- Shell入门教程:Shell当中的特殊变量
Shell当中的特殊变量 一.保留变量 $IFS 这个变量中保存了用于分割输入参数的分割字符,默认识空格. $HOME 这个变量中存储了当前用户的根目录路径. $PATH 这个变量中存储了当前 She ...
- vue2.0学习(二)
1.关于模板渲染,当需要渲染多个元素时可以 <ul> <template v-for="item in items"> <li>{{ item. ...
- 欢迎加入threejs
Threejs is the coolest graphics rendering engine I have ever seen, so what is threejs, Now, we have ...
- Sublime Text3中Autoprefixer失效解决方法
进入CSS文件,默认配置在按下快捷键(Ctrl+Shift+P)后输入Autoprefix,你会发觉它什么事也没干,然后--这什么鬼?抓狂ing-- 原来是因为这玩意还要配置下,以下为配置方法: Pr ...
- MSSQL-to-MySQL v5.3, 从MSSQL迁移到mySQL的最佳工具
将现有的MSSQL数据库迁移到MySQL数据库,尝试了很多种工具 MySQL Workbench / MSSQL to MySQL Export / DB Converter / openDBcopy ...