JavaScript零基础学习第一天

1.JavaScript是什么?

JavaScript是一种直译式脚本语音,是一种动态的,弱类型的,基于原型的语言。
直译式:直接编译并执行
脚本:凡是不能独立运行需要依赖其他程序的,通常都叫做脚本
在这里插入图片描述
动态类型:声明一个类型,能够随时改变它的类型
弱类型:允许变量运算时进行隐式数据类型转换
基于原型:原型的主要作用是继承,对象之间的继承,主要是靠原型链接

2.js能做什么?

网页前端开发(Javascript的老本行)
移动开发 webapp 混合式应用
网站后端开发(Node.js可以让js在后端运行)
插件开发(由于js跨平台这一特性,很多插件使用js进行开发,因为一次开发可以保证跨平台使用)
桌面开发(主要是指chrome浏览器能把js写的程序打包成桌面应用)
游戏开发 等等。。。

3.js的引入及运行

内部引入:在html文件中直接写在script标签内部

标签内引入:直接写在标签内
按钮
外部引入:在html文件中通过script标签引入外部js文件

注:script标签在哪里都可以,为了规范建议在前

4.js的数据类型

简单数据类型:

string、number、boolean、undefined、null
number包括整型,浮点型,和NaN
NaN 即非数字值,是number类型中的一个特殊值
NaN 用于表示本来要返回一个数值的操作数,结果未能返回数值的情况(‘a’-1) (‘b’-3)
特点1:
任何涉及NaN的操作都为NaN。
特点2:
NaN与任何值都不相等,包括自身

  • isNaN() 判断值是否为NaN,返回布尔值
  • parseInt() 解析一个字符串,并返回一个整数。也可将其他进制数字转换为十进制parseInt(数字或能解析成数字的字符串,进制数),十六进制时候abcdef只能是字符
  • parseFloat() 解析一个字符串,并返回一个浮点数
  • Number.toFixed(n) 方法可把 Number 四舍五入保留n位小数,返回字符串

boolean 类型,值为布尔值
boolean类型有两个值 : true 和 false

undefined 类型,表示值未定义
undefined类型只有一个特殊值为 : undefined
var und;
声明变量未赋值,这个变量的值就是undefined

null 类型,表示空
null类型只有一个特殊值为 : null
如果变量准备在将来用于保存一个对象,那么该变量最好初始化为null

复杂数据类型:

object 类型,值为对象类型
JS中 { } 表示对象,[ ] 表示数组,function 表示函数
var obj1=[1,2,3];
var obj2={‘name’:‘laowang’};
var obj3=function () { };

判断数据类型:typeof()

// 判断数据类型运算符 typeof 返回值有6种
字符串:
console.log( typeof str1 );//‘string’
数字:
console.log( typeof(num1) );//‘number’
布尔值:
console.log( typeof(boo1) );//‘boolean’
undefined:
console.log( typeof(und) );//‘undefined’
null:
console.log( typeof(nul) );//‘object’
数组
console.log( typeof(arr) );//‘object’
对象
console.log( typeof(obj) );//‘object’
函数
console.log( typeof(fun) );//‘function’

5.逗号、赋值、算术、关系、逻辑运算符

逗号运算符

  • 使用逗号运算符可以在一条语句中执行多个操作,如: var a = 1, b = 2, c = 3;

  • 返回整体的最后一个值 console.log( (a,b,c) );

赋值运算符
= “+=” “-=” "*= " “/=” “%=”

  • JS中的 ‘=’ 号并非数学计算中的’='号,而是赋值运算符 如:a = 5,应该理解为,把5这个值,赋值给变量 avar a = 1;a += 5 --> a = a + 5;console.log(a);

算术运算符
加 减 乘 除 余
“+” - * / %
取余结果正负只与被取余数有关
递增和递减运算符
++ 和 - -
1++ 表示值递增加1
2- -表示值递减减1
var i = 0;

  • ++i 表示先递增,后取值
    即,a=++i,a=1,i=1
  • i++ 表示先取值,后递增
    即a=i++,a=0,i=1

关系运算符

 >  <  ==  ===  >=  <=  !=  !==

关系运算符返回布尔值
等于 == 只比较值是否相等(忽略类型)
全等 === 先比较类型(内存地址),再比较值

  • 表达式两侧都是数值 --> 正常比较
  • 表达式两侧都是字符串 --> 正常比较(先比较第一个字符),比较字符的ASCII码值,‘0’ – 48,‘A’ – 65,‘a’ –
    97
  • 表达式两侧有一侧是纯数字字符串,该字符串自动转成数字,再进行比较
    两侧都是纯数字字符串,依旧转换成数字再进行比较
  • 表达式两侧有一侧是非数字字符串,不能正常比较,所有非正常比较都返回 false

三元运算符(三目运算符):
Boolean ? express1 : express2;
var str = 3 > 4 ? ‘aaa’ : ‘bbb’;
条件成立执行冒号前的代码,反之执行后面的代码

优点:代码少
缺点:不方便阅读和维护

逻辑运算符
逻辑运算符返回布尔值

  • && 逻辑与,&&前后均为true才会返回true
  • || 逻辑或,||前后有一个为true就会返回true
  • ! 逻辑非,!求当前值的相反值

短路操作

  • &&利用条件1为false就不去执行条件二(一个为false结果就为false)
  • ||利用条件1位true就不去执行条件二(一个为true结果就为true)
var a = 3, b = 6;
var age = a < b && 26;
//得到age为26,只要条件1为true时才会执行条件2
var age = a > b && 26;
//得到age为false,条件1为false则直接返回false,不再向后执行
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章