js笔记01
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的更多相关文章
- JS笔记—01
1.JS的代码一般在头部写2.当页面载入时,会执行位于body部分的JavaScript当被调用时,位于head部分的JavaScript被执行.3.要对外部的JS文件的一个变量操作,代码是写在内部J ...
- Node.js 笔记01
一.Node.js 前言 1.node.js 之父 Ryan Dahl(瑞安达尔) ,技术好,颜值高! 数学系博士, 中途退学, 为了生活, 学习了Ruby On Rails接Web项目, 经过两年成 ...
- JS自学笔记01
JS自学笔记01 1.开发工具 webstorm 2.js(javascript) 是一门脚本.解释性.动态类型.基于对象的语言 含三个部分: ECMAScript标准–java基本语法 DOM(Do ...
- PHP 学习笔记 01
例子: 为什么要学PHP 主观原因: 前段时间在学校处理了毕业的一些事情,回到上海后开始了找工作的旅程.意向工作是WPF开发或者ASP.NET 作为后端的WEB开发. 陆陆续续一直在面试,其中有一家公 ...
- Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
- 软件测试之loadrunner学习笔记-01事务
loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...
- 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!
<30天自制操作系统>笔记(01)——hello bitzhuwei's OS! 最初的OS代码 ; hello-os ; TAB=4 ORG 0x7c00 ; 指明程序的装载地址 ; 以 ...
- 《The Linux Command Line》 读书笔记01 基本命令介绍
<The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...
- 【技能大赛笔记01】Zigbee点对点按键控制程序开发
[技能大赛笔记01]Zigbee点对点按键控制程序开发 --2017年"物联网物联网技术应用与维护"任务五题1(中职组) 1.题目要求 2.工程文件 在比赛中,提供了一个基于Bas ...
随机推荐
- ionic框架前端生产环境的简单部署
1. 效果对比 1.1 开发环境 css+js+lib文件大小为好多M :) 1.2 部署环境(生产环境) css+js+lib文件大小约为800K 文件大小:好多M–>800K(多少自己试下) ...
- linux系统自动执行任务(转)
开机启动 开机启动应该是我们很经常的需求了,我们常需要在开机时就自动执行某些命令来开启服务,进程等,有了它我们不必再在每次开机时输入同一堆命令. chkconfig命令 使用chkconfig命令可以 ...
- Layout( 布局)
一. 加载方式//class 加载方式<div id="box" class="easyui-layout"style="width:600px ...
- C#如何判断质数(转)
要求:重复让用户输入输入一个数,判断该数是否质数,当输入“q”时,程序运行结束!(质数的判断要求用方法来实现). class Program { static void Main(string[] a ...
- django: startproject
python 的 django 框架的安装教程很多,这里不列举安装过程,直接开始记开发应用过程. 1 startprojec,新建项目 $ django-admin.py startproject ...
- FineUI添加隐藏标题
添加隐藏标题 窗体前台: <x:Button ID="btnShowHideHeader" runat="server" Icon="Secti ...
- Hadoop shuffle与排序
Mapreduce为了确保每个reducer的输入都按键排序.系统执行排序的过程-----将map的输出作为输入传给reducer 称为shuffle.学习shuffle是如何工作的有助于我们理解ma ...
- 多线程、多任务管理 简单demo
需求:假设多个任务需要执行,每个任务不是一时半会能完成(需要能看到中间执行状况): 多个任务 根据条件不同 可能需要不同的处理 分析: 多线程并发执行多任务: 对任务进行管理,追踪中间执行状态: 运用 ...
- Function Currying in javascript 的一些注释
理解函数柯里化(Function Currying ),最关键的是理解下面这个函数: function curry(fn){ var args = Array.prototype.slice.call ...
- POI创建Excle
1.导包 2.Demo Workbook wb=new HSSFWorkbook();//创建工作空间 Sheet sh= wb.createSheet("工作表1");//创建工 ...