JS感悟
来源:互联网 发布:lstm python实现 编辑:程序博客网 时间:2024/06/06 08:57
JS基础教程1
Javascript的组成:
- ECMAScript: 解释器 翻译 无兼容性问题
- DOM: Document Object Model ----- 把文档或网页变成可以操作的对象 e.g. document. 大部分兼容
- BOM Browser Object Model ----- 操作浏览器的能力 (打印,复制到剪切板) e.g. window. 几乎完全不兼容
变量的类型:
变量像个容器,存入什么类型的值它就会变成什么类型.
1.number:
在JS中,数字类型不区分 int , float , double... 只有number.
var a=12;alert(typeof a); //number
2. string:
var a='abc';alert(typeof a); //string
3. boolean:
var a=true;alert(typeof a); //boolean
4-1.undefined:
未定义的变量其类型为undefined.
alert(typeof b); //undefined4-2.undefined:
定义但未赋值的变量其类型为undefined
var b;alert(typeof b); //undefined5. function:
a=function (){ alert('abc');}alert(typeof a); //function
6-1. object:
对象是由 number,string,boolean,undefined这些最基本的元素组成的.
window.onload=function (){ a=document.getElementById('div1'); alert(typeof a); //object}6-2. object:
数组也是有多种基本类型组成的,所以也属于object
var a=[1,2,3,4];alert(typeof a); //object
显式类型转换:
parseInt() //从字符串中提取整数. 相当于从左往右遍历,遇到第一个不是数字的字符为止.var a='123px';alert(parseInt(a)); //123
var a='123.6px';alert(parseInt(a)); //123NaN //Not a Number.
var a='abc';alert(parseInt(a)); //NaN
parseFloat() //从字符串中提取浮点数.
var a='123.67.89px';alert(parseFloat(a)); //123.67
NaN与其他数值比较永远不相等,包括它自己.
var a=parseInt('abc');var b=parseInt('abc');alert(a==b); //false
isNaN() //用于检测是不是NaN, 返回true或false.
var a=parseInt('abc');alert(isNaN(a)); //true
var a=parseInt('12abc');alert(isNaN(a)); /false
隐式类型转换:
== 先做类型转换再比较. 或者理解成不考虑类型的比较.
a='12';b=12;alert(a==b); //true ==是先做类型转换再比较. 或者理解成不考虑类型的比较.alert(a===b); //false ===是不做类型转换的比较. 或者理解成类型和值军饷等.- * / 也可以做隐式类型转换. 但+ 不能,因为+数学上的加运算,或者字符串连接.
a='12';b=34;alert(a+b); //'1234'alert(a-b); //-22alert(a*b); //408alert(a/b); //0.35...
变量作用域
a 为局部变量,只能在所在函数中起作用,就好像一个班长,出了这个班什么都不是...
b 为全局变量,在所有函数内均有定义.
var b=13;function aaa (){ var a=12;}function bbb (){ alert(a); alert(b);}aaa();bbb(); //a未定义 //13
闭包:
父函数和子函数之间可以共用变量
function aaa() <span style="color:#FF6666;">//父函数</span>{ var a=12; function bbb() <span style="color:#FF6666;">//子函数</span> { var b=13; alert(a); } bbb(); alert(b);}aaa(); //12 //13
变量的命名规范:
<pre style="position: fixed; left: -1000px;">var b=13;function aaa (){ var a=12;}function bbb (){ alert(a); alert(b);}aaa();bbb(); //a
var b=13;function aaa (){ var a=12;}function bbb (){ alert(a); alert(b);}aaa();bbb(); //a匈牙利命名法:
- 以类型前缀开头
- 首字母大写
<pre style="position: fixed; left: -1000px;">a='12';b=34;alert(a+b); //'1234'alert(a-b); //-22alert(a*b); //408alert(a/b); //0.35...
a='12';b=34;alert(a+b); //'1234'alert(a-b); //-22alert(a*b); //408alert(a/b); //0.35...
运算符:
- 算术运算符
- 比较运算符
0 0
- JS感悟
- JS模块化感悟
- 学习js感悟-js是什么
- SharePoint JS感悟-js脚本
- javascript-js 函数感悟讲解
- 初学html和js感悟
- 【D3.js】D3.js入门感悟、学习指南
- JS---感悟 JavaScript中的面向对象
- 读JS之感悟(1)
- 感悟
- 感悟
- 感悟
- 感悟
- 感悟
- 感悟
- 感悟
- 感悟
- 感悟
- 集合框架(泛型类)
- UVA 488 Triangle Wave
- POJ 2531 Network Saboteur (搜索)
- OCP 1Z0 053 227
- 最小生成树-Prim算法和Kruskal算法
- JS感悟
- Vector的使用
- i.MX6高清双屏广告机
- 模式之路---设计模式六原则(初篇)
- javafx初学
- HOJ 12847 Dwarf Tower (最短路)
- [学习笔记]Jquery的学习小结
- 进程和线程的一个简单形象的解释
- BZOJ 1202 贪心的商人