What is JavaScript ?
脚本语言
解释性语言
基于对象的语言
是一门弱类型语言, 声明变量都用var
动态类型语言:
1. 代码(变量)只有执行到这个位置的时候,才知道这个变量中到底存储的是什么,如果是对象,就有对象的属性和方法,如果是变量就是变量的作用
2. 对象没有什么,只要点了,通过点语法,那么就可以为对象添加属性或者方法
(notice:javascript并不是编程语言 )
编程语言:需要把代码翻译成计算机所认知的二进制语言,才能够执行。
脚本语言:不需要编译,直接执行。
js 最初为解决用户和浏览器交互的问题而产生。
今天的js:
1. 网页特效
2. 服务端开发(Node.js)
3. 命令行工具(Node.js)
4. 桌面程序(Electron)
5. App(Cordova)
6. 控制硬件-物联网(Ruff)
7. 游戏开发(cocos2d-js)
Js代码的注意问题:
1. 在一对script 的标签中有错误的js代码,那么该错误的代码不会执行。
2. 如果第一对script标签中有错误,不会影响后面的script标签中的js代码执行。
3. script的标签中可以写什么内容 type="text/javascript"是标准写法或者写language="JavaScript"都可以,但是,目前在我们的html页面中,type和language都可以省略,原因:html是遵循h5的标准
4. 有可能会出现这种情况:script标签中可能同时出现type和language的写法.
5. script标签在页面中可以出现多对
6. script标签一般是放在body的标签的最后的,有的时候会在head标签中,目前讲课的时候都在body标签的后面(body中的最后)
7. 如果script标签是引入外部js文件的作用,那么这对标签中不要写任何的js代码,如果要写,重新写一对script标签,里面写代码
Js基本的代码的规范:
* js中声明变量都用var
* js中的每一行代码结束都应该有分号;(写代码有分号的习惯)
* js中的大小写是区分的: var N=10; n
* js中的字符串可以使用单引号,也可以使用双引号,目前我们暂时使用双引号
Js 变量的相关问题 (基础)
变量作用:用来操作数据的(可以存储,可以读取)
* 变量的声明:没有赋值 (如下)
var 变量名;
* 变量的初始化:有赋值 (如下)
var 变量名=值;
变量名的注意问题---变量名的命名规范,要遵循驼峰命名法
* 1.变量的名字要有意义,
* 2.变量名有一定的规范:一般以字母,$符号,下划线开头,中间或者后面可以有$符号,字母,数字
* 3.变量名一般都是小写的
* 4.变量名如果是多个单词,第一个单词的首字母是小写的,后面的所有的单词的首字母都是大写的,这种命名方式称为:驼峰命名法
* 5.不能使用关键字(系统自带的一些单词,不能使用)
* 6.不会单词用拼音,拼音也要遵循驼峰命名法
Js中的原始数据类型 (6个):
number数字类型 (整数和小数)
string字符串类型(字符串类型的值一般都是用单引号或者双引号括起来)
boolean(值只有两个,true(真1),false(假0))
null空类型,值只有一个:null,一个对象指向为空了,此时可以赋值为null
undefined未定义,值只有一个:undefined
/*
什么情况下的结果是undefined ?
* 变量声明了,没有赋值,结果是undefined
*函数没有明确返回值,如果接收了,结果也是undefined
*如果一个变量的结果是undefined和一个数字进行计算,结果:NaN不是一个数字,也没有意义
*/
object对象
获取变量的类型 typpeof
var age = 10;
console.log ( typeof age ); //"number"
拼接字符串:
num+" "
(当 + 两边一个操作符是字符串类型,一个操作符是其它类型的时候,会先把其它类型转换成字符串再进行字符串拼接,返回字符串
转换成数值类型
Number()
Number()可以把任意值转换成数值,如果要转换的字符串中有一个不是数值的字符,返回NaN
parseInt()
var num1 = parseInt("12.3abc"); // 返回12,如果第一个字符是数字会解析知道遇到非数字结束
var num2 = parseInt("abc123"); // 返回NaN,如果第一个字符不是数字或者符号就返回NaN
parseFloat()
parseFloat()把字符串转换成浮点数
parseFloat()和parseInt非常相似,不同之处在与
parseFloat会解析第一个. 遇到第二个.或者非数字结束
如果解析的内容里只有整数,解析成整数
转换成布尔类型
Boolean()
0 ''(空字符串) null undefined NaN 会转换成false 其它都会转换成true
使用谷歌浏览器,快速查看数据类型:
字符串:黑色
数值类型:蓝色
布尔类型:蓝色
undefined:灰色
null:灰色