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. python基础学习1-SET 集合

    # -*- coding:utf-8 -*- set集合 无序不重复的序列 se = {"a","b","c"} #创建SET集合 prin ...

  2. C++实现从一个文件夹中读出所有txt文件

    前段时间做项目需要读取一个文件夹里面所有的txt文件,查询资料后得到以下实现方法:首先了解一下这个结构体struct _finddata_t {    unsigned    attrib;    t ...

  3. ASP.NET Core 接触&介绍

    几年前从朋友口中了解到了微软出来一个ASP.NET Core ,当时还是1.0版本,聊天时还吐槽不好用之类的.前不久了解.NET Core 已经出3.0版本了,突然想试试,了解了解.ASP.NET C ...

  4. OpenGL学习笔记(1) 画一个三角形

    最近找实习有一丢丢蛋疼,沉迷鬼泣5,四周目通关,又不想写代码,写篇笔记复习一下,要好好学图形学啊 用OpenGL画一个三角形 项目的简介 记录一下跟着learnOpenGL学习的过程 笔记里的代码放在 ...

  5. NO--14 微信小程序,左右联动二

    上一篇讲解了左=>右联动,那个还比较简单,本篇写剩下比较核心的部分,也是本次开发过程中遇到最难的部分,右=>左联动,先简单看一下演示   右左联动.gif 一.关键技术: (1) 小程序 ...

  6. 【LeetCode算法题库】Day4:Regular Expression Matching & Container With Most Water & Integer to Roman

    [Q10] Given an input string (s) and a pattern (p), implement regular expression matching with suppor ...

  7. Netty源码分析第5章(ByteBuf)---->第3节: 缓冲区分配器

    Netty源码分析第五章: ByteBuf 第三节: 缓冲区分配器 缓冲区分配器, 顾明思议就是分配缓冲区的工具, 在netty中, 缓冲区分配器的顶级抽象是接口ByteBufAllocator, 里 ...

  8. 私有云搭建:树莓派+kodexplorer可道云,几步搞定!

    目前蒲公英异地组网则是推出了树莓派1.0软件客户端.无需公网IP!简单60秒设置!轻松远程访问树莓派!实现远程登录.远程配置.远程访问服务.传输数据等等操作.例如:蒲公英树莓派1.0软件客户端+可道云 ...

  9. [Windows][C#][.NET][WPF]基于ArcFace2.0+红外双目摄像头的活体检测

    废话不多说 直接上图这个是demo中用到的双目摄像头,一个是红外的,一个是正常的rgb摄像头两个usb接口,在电脑上呈现两路摄像头通道程序检测RGB输出图像,当检测到有人脸时,用RGB人脸的位置到红外 ...

  10. 机器人平台框架Yarp - Yet another robot platform

    简介 ROS有强大和易用的特性,用的人很多,目前已经推出2.0版本,有相关的官网和论坛.然而其缺点也比较明显. 只能基于Ubuntu系统,且一个ROS版本只能对应一个具体的Ubuntu版本    通信 ...