js基础1:

js组成:
ECMAScript :解释器 、翻译 提供语言的基本功能
几乎没有兼容型问题
dom :document object model 有一些兼容型问题
bom :brower object model 几乎不兼容

变量类型:
number 、string 、boolean、undefined、object,function
查看变量类型 typeof()

var a;
都是undefined的两种情况:
1、不定义或者
2、a不赋值

变量类型由里面所存的值来决定的

符合类型:对象 不是一个基本的单元
基本类型:23,‘33’ true

数组是对象

var a = "333";
js数字类型转换为字符串 ''+a

input输入的默认都是字符串,所以两者要求和,要转换

数据类型转换:

字符串转换为数字:
parseInt();
parseInt('23sd') = 23
parseInt('sdf3') = NaN 不是一个数字

parseFloat()转换为小数

数字+NaN = NaN

如何检测NaN
不能用 == NaN来比较
isNaN(a)

隐式类型转换:
= == ===
== 先把两边转换为一样的类型再转换

‘12’ == 12 true
'12' === 1 false

var a = '12'
var b='5'
alert(a-b) = 7
- * /号会自动将其转换为数字
+ 1:可以做字符串连接
2:数字相加

变量作用域:
局部变量:某一个函数内定义的变量
全局变量:不定义再任何一个函数里面,可以在任何地方使用

全局变量是魔鬼,尽可能不要去使用

闭包:
相当于外函数和内函数
外函数定义的变量,子函数可以使用
你麻痹的,我还以为是什么厉害的东西

命名规范和必要性:
可读性---能看懂
规范性---符合规则
匈牙利命名法:
类型前缀 :fn o s b i re a v
函数 对象 字符串 布尔 整形 正则 数组 变体变量

首字母大写

运算符:
+ - * / %取模,求余

隔行变色
<script>
window.onload = function(){
var oUl1 = document.getElementById('ul1');
var oLi = oUl1.getElementsByTagName('li');
for(var i=0;i<oLi.length;i++)
{
if(i%2 == 0)
{
oLi[i].style.backgroundColor = "#ccc";
}
}
}
</script>
parseInt()也可以用来取整

赋值:= += /= *= %=
关系 > = >= <= == === !==
逻辑 && || !
运算符的优先级 :()

if switch ?:
a = a>b?a:b;
switch(a)
{
case '1':
{

}
break;
default:
break;

}

while for
break continue

真,true ,非零字符 非空对象
假;false 数字零 空字符串,空对象 浮点数0.0 undefined

json:
{name:'wang',age:'34'}
javascript object notation

for in 遍历json对象

var obj ={a:4,b:3,c:3}
for(attr in obj)
{
alert(obj[attr])
}

js学习1的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. js学习之变量、作用域和内存问题

    js学习之变量.作用域和内存问题 标签(空格分隔): javascript 变量 1.基本类型和引用类型: 基本类型值:Undefined, Null, Boolean, Number, String ...

  3. 【Knockout.js 学习体验之旅】(3)模板绑定

    本文是[Knockout.js 学习体验之旅]系列文章的第3篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...

  4. 【Knockout.js 学习体验之旅】(2)花式捆绑

    本文是[Knockout.js 学习体验之旅]系列文章的第2篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...

  5. 【Knockout.js 学习体验之旅】(1)ko初体验

    前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...

  6. js学习篇1--数组

    javascript的数组可以包含各种类型的数据. 1. 数组的长度 ,直接用 length 属性; var arr=[1,2,3]; arr.length; js中,直接给数组的length赋值是会 ...

  7. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  8. NODE.JS学习的常见误区及四大名著

    NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang ...

  9. Node.js学习系列总索引

    Node.js学习系列也积累了一些了,建个总索引方便相互交流学习,后面会持续更新^_^! 尽量写些和实战相关的,不讲太多大道理... Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- ...

  10. 【入门必备】最佳的 Node.js 学习教程和资料书籍

    Web 开发人员对 Node.js 的关注日益增多,更多的公司和开发者开始尝试使用 Node.js 来实现一些对实时性要求高,I/O密集型的业务.这篇文章中,我们整理了一批优秀的资源,你可以得到所有你 ...

随机推荐

  1. Oracle中用户解锁

    以hr 用户为例: SQL> alter user hr account unlock; ユーザーが変更されました. SQL> alter user hr identified by hr ...

  2. 苏州优步uber司机奖励政策(持续更新)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  3. 北京Uber优步司机奖励政策(4月20日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  4. VC编译连接选项详解

    VC编译连接选项详解 大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解.原因是多方面的.大多数情况下,我们只停留在“使用”它,而不会想去“了解”它.因为它只是一个工具,我们宁可把更多的精力 ...

  5. Python_sklearn机器学习库学习笔记(六) dimensionality-reduction-with-pca

    # 用PCA降维 #计算协方差矩阵 import numpy as np X=[[2,0,-1.4], [2.2,0.2,-1.5], [2.4,0.1,-1], [1.9,0,-1.2]] np.c ...

  6. csb反编译为csd,并自动进行资源的删除

    好多人都想将csb进行反编译为csd,然后进行资源的清理 目前自己的项目也遇到了类似的问题,所以进行了整理 还有很多不完善的地方,后续会一步步加深 请大家多多指教 下载链接:https://pan.b ...

  7. SVN For Mac: Cornerstone.app破解版免费下载

    Cornerstone.app下载地址 链接:https://pan.baidu.com/s/1kwQ65SBgfWXQur8Zdzkyyw  密码:rqe7 Cornerstone303 MAS.a ...

  8. 【python 3.6】类:访问属性及调用方法

    >>> class price(): //定义1个类,用于计算价格 def __init__(self,name,danjia): //初始化方法,定义商品名称和单价 self.na ...

  9. 笔试题——C++后序字符比较

    题目:从两个数组的最后一个元素开始比较,输出数组中不同元素的个数.当一个数组的所有元素比较完成后,结束比较.a数组长度5,b数组长度3,a[ 4 ]和b[ 2 ]比较. 例: 输入: 77 21 1 ...

  10. import 导入包的特别用法总结

    指定别名 可以为包指定一个别名,以便记忆或提高输入效率 如 import str "strings" 在使用的时候可以直接使用别名,如原先要写成strings.Contains,现 ...