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. Android Paint之 setXfermode PorterDuffXfermode 讲解

    setXfermodePorterDuffXfermode图层混合模式android图像混合模式AvoidXfermode 尊重原创,欢迎转载,转载请注明: FROM  GA_studio   htt ...

  2. Nyoj 43 24 Point game 【DFS】

    24 Point game 时间限制:3000 ms  |  内存限制:65535 KB 难度:5 描写叙述 There is a game which is called 24 Point game ...

  3. getChars的使用方法

    <%@ page contentType="text/html; charset=gb2312" %> <%@ page import="java.ut ...

  4. Win32函数Sleep的精度测试

    用了三种方法,第一种使用高精度性能计数器:第二种是使用多媒体定时器,另一种是<Windows图形编程>里提供的CPU周期来获取.推荐第一种方式测量: 先看第一种: #include < ...

  5. lua 加密

    项目要求对lua脚本进行加密,查了一下相关的资料 ,得知lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,试了一下,确实可行.下面是使用原生的lua解释器编译字节码:1.新 ...

  6. SELinux 与强制访问控制系统

    SELinux 全称 Security Enhanced Linux (安全强化 Linux),是 MAC (Mandatory Access Control,强制访问控制系统)的一个实现,目的在于明 ...

  7. vs开发常用快捷键

    Ctrl+K+D:快速对齐代码///按D的时候K快速弹起 如果出现语法错误则无法对齐Ctrl+Z:撤销Ctrl+S:保存Ctrl+J:快速弹出智能提示Shift+End.Shift+Home//快速选 ...

  8. overcast

    关于一个利用relative的简单布局,firefox上出现一点问题,暂且不明原因 firefox的 chrome的 代码记录 <!DOCTYPE html> <html lang= ...

  9. swt

    http://blog.sina.com.cn/s/blog_557ebb4c0101mgtc.html http://blog.csdn.net/kagoy/article/details/1746 ...

  10. PS 色彩的色相谱

    7- 色彩的色相谱 在这个环中,位于180度夹角的两种颜色(也就是圆的某条直径两端的颜色),称为反转色,又称为互补色.互补的两种颜色之间是此消彼长的关系,小框往蓝色移动的同时就会远离黄色, 黄色=白色 ...