js编写页面特效动态脚本类型的语言
变量:存储数据(日常生活中的东西,比如电视,手机,电脑,出生年份。。。)
语法:
var obj=value;
obj不能为数字开头,且区分大小写
value对应数据类型,如number string bool null undefined
概念
内存中存储一个数据的存储空间,并起一个别名
使用
创建
通过var方式 加上一个别名
var obj;
赋值
将等号右边的数据保存到等号左边
obj=value;
取值
在任何位置使用变量名造次使用变量中的值
console.log(obj);
简写:var obj=value;
****
声明提前
在执行程序之前,js引擎会预读所有var声明的变量
集中到顶部创建,赋值会留在原地
原来的
console.log(i);//undefined
var i=0;
console.log(i);//0
引擎修改后
var i;
console.log(i);//undefined
i=0;
console.log(i);//0
仅声明未赋值,会出现一个undefined
var obj;//undefined
仅赋值未声明(强烈不建议使用,虽然不会出错)
m=12;
未赋值未声明 obj is not defined
k
原型类型(基本类型)
number:数值
var s1=1,s3=2.5;
特殊情况:舍入误差
可能在计算过程上,可能会出现计算不尽的情况,通过
四舍五入方式来处理:i.toFixed(int)
占用8字节
1kb=1024b
1gb=1024mb;
string:字符串
通过引号(双,单)都可以的
使用了国际标准:unicode
一旦创建无法修改,只能创建或者替换
一个英文,数字占1b,一个汉字2b
什么情况下使用数字(原因是数字运算快)
比如价格,数量,年龄等,只要不含非数字的都使用number
只要含有非数字的都使用string
boolean:布尔
true--1
false--0
undefined:未定义
null:空
其他:
强类型:开发大型底层应用 :c ,c++ java

弱类型:开发高层应用(网页):js,python ,php
特点
声明变量时,无须指定数据类型
同一个变量,可以先后使用不同的数据类型
它会根据自身情况,'自动'的进行数据类型的转换

自动(隐式)转换
不需要程序员干预的,js自动帮我们程序员完成的
算数运算中
+,-,*/ %
默认情况下,会将数据转换成数字,然后计算
var s1=1,s2='2';
s2-s1 s2*s1 s2/s1 ....
+(重点)
如果2个变量进行计算时,其中一方
是字符串,那么就采用字符串拼接
如果转换不成数字,NaN(not a Number)
手动(强制)转换
程序员通过调用某些函数来完成类型的操作
任意类型转字符串的2个方法
x.toString():(除null和undefined外的其他都可以处理和面向对象的时候)
String(x):万能的(隐式处理)
typeof(obj):用于判断数据的类型
x.valueOf():只能 获取变量的内部值,进行类型转换
任意类型转数字
Number(x):(自动转换,只转换为纯数字的)
特殊:
null 0
'' 0
true
针对字符串的--数字
parseInt(x)
从左到右,依次读取X中数字字符串直到碰到
第一个非数字字符串就退出
无法识别小数部分
自动跳过空字符串
parseFloat(x)
识别小数的
将字符串转换为数值
Number与parseXXX;
前一个是万能的 ,后一个是字符串
如果字符串结尾有位置,使用后一个
任意类型转布尔
除0 NaN,null,undefined,''-->false;
其他为true

算数运算符:+ -* /% ++ --
%求余
先整除,再取除不尽的余数部分
10%3=1
步骤:1:10/3=3;
2:余数为1
何时使用:
判断能否被某个数整除时
比如说,能被2整除的
4,5,6,7,8,9,10 %2==0
被2整除余数是否是0
限制运行结果的上限时
比如我要限制3到
3,4,5,6,6,7,8/3
++ --(自增1,自减1)
将结果保存给变量
如果++,--在程序叫独立一行使用的话
i++ ++i的情况是一样的
如果参与运算如下
++i返回新值
i++返回旧值
var s=1;
console.log(s++ + s++ + s++ + s++)
1 2 3 4
如果是旧值,那么第一位返回1 ,从第2位开始加1

如果是新值的话,从第1位开始直接加1,如下
console.log(++s + ++s + ++s)
2 3 4

console.log( s++ + ++s + ++s + s++)
1+(1+1+1) (3+1) (4+1)

a++ + a++ + ++a + ++a
3+(3+1)+(4+1)
var a=1;
console.log( a++ + ++a + a++ + a++ + ++a );
//1+3+4+3+6=10+7
我的想法是将相同的如a++先进行计算 ,接着把++a的进行计算
最后将2个结合
如果前面的值已经加过了,那么继续累加的记录会给后面+1,以此类推
关系运行:做比较!返回boolean类型false true
> < >= <= != ==相等 ===全等 !==全不等
NaN不等于,不大于,不小于任何值(包括自己)
判断isNaN(x)如果是NaN的话,返回true 否则false
与任何数据做!=比较永远为true
null:主动清空一个变量(内存)
undefined:所有变量默认值
==无法判断null,undefined
原因是==自带自动转换''
===可以解决不自动转换
关系运算符
> < <= == != === !==
将多个关系运行综合得出的结论
做判断时返回true/false bool
&&与 所有条件为true则为true
||其中一个条件为true则为true
!取反

js笔记01的更多相关文章

  1. JS笔记—01

    1.JS的代码一般在头部写2.当页面载入时,会执行位于body部分的JavaScript当被调用时,位于head部分的JavaScript被执行.3.要对外部的JS文件的一个变量操作,代码是写在内部J ...

  2. Node.js 笔记01

    一.Node.js 前言 1.node.js 之父 Ryan Dahl(瑞安达尔) ,技术好,颜值高! 数学系博士, 中途退学, 为了生活, 学习了Ruby On Rails接Web项目, 经过两年成 ...

  3. JS自学笔记01

    JS自学笔记01 1.开发工具 webstorm 2.js(javascript) 是一门脚本.解释性.动态类型.基于对象的语言 含三个部分: ECMAScript标准–java基本语法 DOM(Do ...

  4. PHP 学习笔记 01

    例子: 为什么要学PHP 主观原因: 前段时间在学校处理了毕业的一些事情,回到上海后开始了找工作的旅程.意向工作是WPF开发或者ASP.NET 作为后端的WEB开发. 陆陆续续一直在面试,其中有一家公 ...

  5. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  6. 软件测试之loadrunner学习笔记-01事务

    loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...

  7. 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!

    <30天自制操作系统>笔记(01)——hello bitzhuwei's OS! 最初的OS代码 ; hello-os ; TAB=4 ORG 0x7c00 ; 指明程序的装载地址 ; 以 ...

  8. 《The Linux Command Line》 读书笔记01 基本命令介绍

    <The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...

  9. 【技能大赛笔记01】Zigbee点对点按键控制程序开发

    [技能大赛笔记01]Zigbee点对点按键控制程序开发 --2017年"物联网物联网技术应用与维护"任务五题1(中职组) 1.题目要求 2.工程文件 在比赛中,提供了一个基于Bas ...

随机推荐

  1. 《Effective C++ 》学习笔记——条款11

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  2. XCode 打包问题巧遇

    XCode 打包问题巧遇 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句: ...

  3. cocos2d-x v3.2 FlappyBird 各个类对象详细代码分析(7)

    今天我们介绍最后两个类 GameOverLayer类 GameLayer类 GameLayer类是整个游戏中最重要的类,由于是整个游戏的中央系统,控制着各个类(层)之间的交互,这个类中实现了猪脚小鸟和 ...

  4. jQuery的简单应用

     时隔多日, 终于我又有时间来浏览些新知识了, 并不是偷懒什么的, 只是真的好忙, 看似闲暇的时间总是冒出一些模糊而又不得不做的事情, 今日终于我又有时间了, 可以看下jQuery了, 并根据自己的了 ...

  5. 忽略git中不需要进行版本管理的文件

    在git中我们提交项目的时候有很多东西是不需要进行版本管理的,因此我们需要忽略掉. 虽然在github2.0的windows客户端提供了工具,但是这个工具并不是想象中的那么好用. 在上面点右键出现的D ...

  6. CentOS7 安装chrome浏览器

    本篇文章主要记录如何在CentOS7.0上安装chrome. 1.配置yum下载源: 在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repo, 并且在该文件中添加 ...

  7. linux-ln命令

    ln分为软链接和硬链接 1.软连接 -s   ln -s /mnt/hgfs/SHARE hvshare2 相当于在当前目录下新建一个名为hvshare2的快捷方式指向/mnt/hgfs/SHARE路 ...

  8. SICP 阅读笔记(二)

    Chapter 1: Building Abstractions with Procedures 2015-09-29 016 Preface of this chapter QUOTE: The a ...

  9. C#摇奖程序

    private void Form1_Load(object sender, EventArgs e) { //取消跨线层访问控件的判断 Control.CheckForIllegalCrossThr ...

  10. MySql事务及隔离级别

    在数据库中,所谓事务是指作为单个逻辑工作单元执行的一系列操作. 事务的操作: 先定义开始一个事务,然后对数据作修改操作, 这时如果提交(COMMIT),这些修改就永久地保存下来 如果回退(ROLLBA ...