1.js的基础语法
2.js调试
1.F12调出控制台,查看提示错误及其位置。
2.出错时只影响当前代码块,不会影响其他代码块,后续代码块继续执行。
3.语法规范
1.js语句:可执行的最小单元
必须以 ; 结束
严格区分大小写
ex:console.log(); //正确
Console.log(); //错误
所有符号必须是英文标点符号
2.js注释
// :单行注释
/**/ :多行注释
4.变量和常量
1.变量
1.声明变量
var 变量名;
ex:
var uname;
2.为变量赋值
变量名=值;
3.声明变量时直接赋值
var 变量名=值;
注意:
1.允许在一条语句中声明多个变量,用逗号隔开即可。
ex:
var user_name="Hanmm",user_age=18;
2.如果声明变量,但未赋值,则值默认是undefined。
3.声明变量时可以省略var,但不推荐。
2.变量名的命名规范
1.不允许使用关键字和保留关键词
var const if else for while int string...
2.允许包含字母,数字,下划线,$
3.不能以数字开头
4.最好见名知意
ex:
var a;
var uname;
5.尽量使用"小驼峰命名法"
var uname;
var userName;//小驼峰

var UserName;//大驼峰
var user_name;//下划线

3.变量的使用
1.声明变量 未赋值 值默认是undefined
2.使用未声明的变量,则 报错。
3.取值操作-get
变量只要没出现在=的左边,一律是取值操作。
4.赋值操作-set
变量名出现在=的左边,一律赋值操作。
练习:
用三个变量来保存笔记本信息:
笔记本名称
笔记本价格
笔记本库存
并将笔记本信息打印在控制台:输出格式如下:
ex:
笔记本名称:ThinkPad E460
4.常用的使用
1.什么是常量?
在程序中,一经声明就不允许被修改的数据就是常量。
2.语法
const 常量名=值;
常量名在程序中,通常采用大写形式。
ex:
const PI=3.14;
练习:
1.创建一个常量PI,赋值3.14,并打印在控制台,
再将声明好的常量PI的值更改为31.4,尝试打印输出,观察结果。
5.数据类型
1.数据类型的作用
规定了数据在内存中所占的空间。
40:占4个字节 也就是32位
40.1
bit:位
8bit=1byte 字节
1024byte=1KB
1024kb=1MB
1024MB=1G
1024G=1T
2.数据类型详解
1.数据类型分类
1.原始类型(基本类型)
1.Number类型
数字类型
作用:可以用来表示32位的整数,也可以是64位的浮点数(小数)。
整数:
1.十进制
由0-9的数字组成,缝十进一
var age=25;
2.八进制
由0-7的数字组成,缝八进一
八进制中以0开头
3.十六进制
由0-9和A-F组成,缝十六进一
A:10
B:11
C:12
D:13
E:14
F:15
十六进制中以ox开头
浮点数(小数):
小数点计数法:12.34
指数计数法:3.4e3(3.4乘以10的3次方)
2.String类型
字符串类型
作用:表示一系列的文本字符数据,如:姓名,性别,地址等。
每个字符在计算机中都有一个唯一的编码来表示该字符,该码称为Unicode码。
查找一个字符的unicode码:
"一".charCodeAt();//默认十进制
"一".charCodeAt().toString(16);//十六进制

674e-->unicode转换成汉字?
转义字符:\u
其它转义字符:
\n:换行
\t:制表符(缩进)
\":"
\':'
\\:\
字符串在使用过程中,需要使用''或""括起来。
3.Boolean类型
作用:在程序表示真或假的结果
取值:true或false
ex:
var isBig=true;
在参与到数字运算时,true可以当做1运算,false可以当做0运算。
ex:
var result=25+true;//结果:26

4.Undefined类型
作用:表示使用的数据不存在
undefined类型只有一个值,即undefined,当声明的变量未赋值时,该变量的默认值是undefined。
ex:
var num;
console.log(num);//结果undefined

5.Null类型
null用于表示尚不存在的对象。
null类型只有一个值即null,如果函数或方法返回的是对象,找不到该对象时,返回的通常是null。
ex:
document.getElementById("uname");

2.引用类型
2.数据类型转换
1.隐式(自动)转换
不同类型的数据在计算过程中自动进行转换。
1.数字+字符串:将数字转换为字符串
var num=15;
var str="Hello";
var result=num+str;//15Hello
2.数字+布尔:将布尔转换为数字
var num=15;
var isSun=true;
var result=num+isSun;//结果16
3.字符串+布尔:将布尔类型转换为字符串
var str="Hello";
var isBig=true;--》"true"
var result=str+isBig;//结果Hellotrue
4.布尔+布尔:将布尔类型转换数字
var isBig=true;
var isSun=false;
var result=isBig+isSun;//结果1
问题:
var num1=15;
var num2=17;
var str1="Hello";
1.str1+num1+num2
结果:Hello1517
2.num1+num2+str1
结果:32Hello
允许使用typeof()的函数检查变量的数据类型。
2.强制转换-转换函数
1.toString()
将任意类型数据转换为字符串
语法:var result=变量.toString();
ex:
var num=15;
var result=num.toString();
console.log(typeof(result));//string
2.parseInt()
将任意类型的数据转换为整数
如果转换不成功,结果为NaN(Not a Number)
语法:var result=parseInt(数据);
ex:
var num="123abc"; //结果123
var num1="abc123";//结果NaN
3.parseFloat()
将任意类型的数据转换为小数
如果转换不成功,结果为NaN。
语法:var result=parseFloat(数据);
4.Number()
将任意类型的数据转换为number
注意:如果包含非法字符,则返回NaN
语法:var result=Number(数据);
练习:
1.弹出一个输入提示框,输入金额,并保存在变量money中
ex:
var money=prompt("请输入金额:");
2.将money+10,再打印输出加10后的结果
3.注释掉第2步,使用typeof()检查money的类型。
4.将money转换为数字,再+10打印输出。
6.运算符和表达式
1.表达式:由运算符和操作数组成的式子就是表达式
任何一个表达式一定会有结果。
ex:
15+17
var x=y=10;
17<15
2.运算符
1.算术运算符
+,-,*,/,%,++,--

5%2=1 5模2 余数是1
++:自增,只做+1操作
++在前,先自增,再运算
++在后,先运算,再自增
--:自减,只做-1操作
--在前,先自减,再运算
--在后,先运算,再自减
ex:
var num=5;
console.log(num++);//5
console.log(++num);//7
练习:
var num=5;
5 (6)6 6(7)
var result=num + ++num + num++ + ++num + num++ +num; 结果:42
(8)8 8(9) 9
2.关系运算符(比较运算符)
>,<,>=,<=,==,!=,===,!==
运算结果为:boolean类型(true,false)
问题:
1.5>"10" 结果:false
关系运算符两端,只要有一个是number的话,另外一个会隐式转换为number,再进行比较。
2."5">"10" 结果:true
关系运算符两端,如果string的话,则比较每位字符的unicode码,以unicode码不相等的两个字符比较结果作为整体结果。
"张三丰">"张无忌" 结果:false
"三".charCodeAt();
"无".charCodeAt();
3."3a">10 结果:false
Number("3a")--->NaN
NaN
注意:
NaN与任何一个数据做比较运算时,结果都是false。

NaN与任何数据做!=,结果永远都是true。

NaN与任何数据做==,结果永远都是false.
isNaN()函数:
作用:判断指定数据是否为非数字,如果不是数字,返回值为true,是数字的话返回值为false。

3.逻辑运算符
逻辑运算符:&&,||,!
!:取反
&&:并且,关联的两个条件都为true时,整个表达式的结果为true。
||:或者,关联的两个条件,只要有一个为true,整个表达式的结果为true。

短路逻辑与:&& 做条件判断
当第一个条件为false时,整体表达式的结果就是false,不再判断或执行第二个条件。
当第一个条件为true时,会继续判断或执行第二个条件。
短路逻辑或:||
当第一个条件true时,就不再执行后续表达式,整体结果为true。
当第一个条件false时,继续执行第二个条件或操作。
4.位运算符
<<,>>,&,|,^
右移是把数字变小,左移是把数字变大
按位与:& 判断奇偶性
任意数字与1做按位与 ,结果为1,则为奇数,结果为0,则为偶数。
var num=323;
var result=num & 1;
console.log(result);
按位或:| 对小数取整
将任意小数与0做按位或,结果则取整数部分。
var num=123.45;
var result=num | 0;
console.log(result);
按位异或:^ 用于交换两个数字
var a=3;
var b=5;
a=a^b;
b=b^a;
a=a^b;
console.log(a);
console.log(b);
二进制位数,逐位比较,不同则为1,相同则为0。

练习:
声明两个变量,分别保存两个整数。
用异或实现数字的换位。
输出方式如下:
console.log("换位前a:"+a);

console.log("换位后a:"+a);

JS基础-数据类型-运算符和表达式-变量和常量的更多相关文章

  1. C语言基础知识-运算符与表达式

    C语言基础知识-运算符与表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用运算符分类 1>.算术运算符 用于处理四则运算. 2>.赋值运算符 用于将表达式的 ...

  2. js 基础数据类型和引用类型 ,深浅拷贝问题,以及内存分配问题

    js 深浅拷贝问题 浅拷贝一般指的是基本类型的复制 深拷贝一般指引用类型的拷贝,把引用类型的值也拷贝出来 举例 h5的sessionStorage只能存放字符串,所以要存储json时就要把json使用 ...

  3. js基础关系运算符

    js基础关系运算符 == 是否相等(只检查值) x=5,y='-5';x==y true === 是否全等(检查值和数据类型) x=5,y='-5';x===y false != 是否不等于 5!=8 ...

  4. java===java基础学习(1)---数据类型,运算,变量,常量

    今天起开始了java的学习之路,主要学习了数据类型和运算,变量,常量.基本和python有很多相通的地方,所以看起来很容易上手.下面是学习笔记! package testbotoo; public c ...

  5. C#基础(数据类型运算符)

    ---恢复内容开始--- 1.类 修饰符 class 类名 基类或接口 { } 2.命名规范 成员变量前加_ 首字符小写,后面单词首字母大写(Camel规则) 接口首字母为I 方法的命名使用动词 所有 ...

  6. js基础梳理-究竟什么是变量对象,什么是活动对象?

    首先,回顾下上篇博文中js基础梳理-究竟什么是执行上下文栈(执行栈),执行上下文(可执行代码)?的执行上下文的生命周期: 3.执行上下文的生命周期 3.1 创建阶段 生成变量对象(Variable o ...

  7. java基础(4)--运算符及表达式

    运算符及表达式 算数运算 加(+) 减(-) 乘(*)  除(/) 取余(%) 自增(++) 自减(- -) 注意点 1. 同种类型参与运算(可能需要自动类型转换),返回同种类型 2. 整数的除法是整 ...

  8. JS基础_运算符的优先级

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. Js基础知识(一) - 变量

    js基础 - 变量 *大家对js一定不会陌生,入门很简单(普通入门),很多人通过网络资源.书籍.课堂等很多途径学习js,但是有些js基础的只是往往被大家遗漏,本章就从js变量类型来说一说js 变量类型 ...

随机推荐

  1. jdk1.8的项目在jdk1.7的环境下运行

  2. 缩点+最小路径覆盖 hdu 3861

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3861 题意:输入t,表示t个样例.接下来每个样例第一行有两个数n,m表示点数和有向边的数量,接下来输入 ...

  3. 【转】chrome devtools protocol——Web 性能自动化

    前言 在测试Web页面加载时间时,可能会是这样的: 打开chrome浏览器. 按F12打开开发者工具. 在浏览器上打开要测试的页面 查看开发者工具中Network面板的页面性能数据并记录 或者在开发者 ...

  4. 【模型】Toon Dragon

    下载地址:点击下载

  5. 转Genymetion

    http://www.cnblogs.com/rainboy2010/p/6387770.html 介绍 Genymotion是一款出色的跨平台的Android模拟器,具有容易安装和使用.运行速度快的 ...

  6. SQL那些事儿(十一)--ODBC,OLE-DB,ADO.NET区别[转]

    一.ODBC   ODBC的由来 1992年Microsoft和Sybase.Digital共同制定了ODBC标准接口,以单一的ODBC API来存取各种不同的数据库.随后ODBC便获得了许多数据库厂 ...

  7. FragmentManager V4包下 应该用FragmentActivity

    import android.os.Bundle; import android.support.v4.app.FragmentActivity; public class MainActivity ...

  8. XSS 攻击的防御

    xss攻击预防,网上有很多介绍,发现很多都是只能预防GET方式请求的xss攻击,并不能预防POST方式的xss攻击.主要是由于POST方式的参数只能用流的方式读取,且只能读取一次,经过多次尝试,自己总 ...

  9. 整站变灰CSS代码

    * { filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); -webkit-filter: grayscale(100% ...

  10. 记录css的常用属性

    background-color:背景颜色 color:字体颜色 text-align:标签内容的位置 margin-left:左外边距 font-size:字体大小 font_family:字体格式 ...