javascript的引入和介绍和数据类型的转换

js引入方式

1.直接引入

<script><script/>
<script type="text/javascript"><script/>
<script language="javascript"><script/>

2.间接引入

<script src=""></script>

间接引入框架最好用cdn加载在别人的服务器

注意最好放在body的最后

注释方式

  • 单行注释 ctrl+/
  • 多行注释 ctrl+shift+/

输出方式

  • 弹框输出

    alert();

  • 文档流输出

    document.write();

  • 控制台输出

    console.log();

文档流输出

显示在页面上

控制台输出

建议用这个调试 ,百度或者途牛官网你去控制台可以看见招聘的东西

记住这个报错

console.log(age)
输出:age is not defined,因为age没有定义

如果是
var a;
console.log(a)
输出:undefinde
因为没有赋值

特殊的变量名: name 系统默认定义的name的值为控的字符串

弹框输出

不建议用,会中断代码执行,有他,其他的代码都不执行(可以用来确定删除)

js变量

js中采用var 声明变量

语法

var 变量名;  生明
var 变量名=值;  声明并赋值

同时声明多个变量
var a,b,c;
a=10;
b=20;
c=30;
console.log(a,b,c)

变量命名规范

  • 变量名有数字、字母、下划线、$组成,能以数字开头
var 1a;
控制台报 Invalid or unexpected token(无效的定义)
  • 严格区分大小写

  • 可以使用中文(不建议)

    var 激动="好激动"
    
  • 不能使用系统关键字(重点)

    比如 var default if else break、continueif else var continue break let const等
    如果不晓得的话直接var一下,
    Unexpected token 'break'(意外标记,即使用了关键字)
    
  • 采用小驼峰命名法:

    firstFriend
    helloWorld
    name
    

注意var声明的变量存在变量提升(要知道)

注意意思是声明提前,赋值并未提前

比如:console.log(g)
var g=1
控制台输出:undefinded
而不是not definded

js常见的数据类型(笔试题或面试题)

  • 方式一:所有的数据都是对象
  • 方式二:两种数据类型

​ 值类型:string number boolean null undefinded(值和变量放一起)

​ 引用类型:object (值和变量不放在一起)

  • 方式三(别人问的):六种

    注意null的检测结果为object

								typeof检测结果:
string 字符串     					string
number 数值类型						number
boolean布尔类型						boolean
null空类型							object
undefinded未定义类型					undefinded
object对象类型 包括数组,function	object/function

检测数据类型typeof

方式一:typeof(被检测的变量)

方式二:typeof 被检测的变量

undefined类型

1、变量声明后未赋值,值为undefined

2、直接将变量的值赋值为undefined

3、函数的参数未传入实际的值,该参数未undefined

4、函数运行后,未给出返回值(return),则未undefined

5、对象的属性未进行定义,值也是undefined

JavaScript简称js,也称为ECMAJavaScript

defer延迟加载(基本用不上)

null类型

var nu=null;
console.log(typeof nu)
输出:object

两种等号

  • ==(恒等):判断值是否相等,返回boolean类型

console.log(null==undefined)//true,因为都是空的

  • ===(全等):判断值和类型是否相等,返回boolean类型

console.log(null===undefined)//false

  • undefined和null的区别

1、类型不同

Null为空对象指针,为object类型,undefined的类型为Undefined

2、undefined未定义类型,以后可以装任意的数据类型;而null为空对象指针,但以后接收对象类型

js不区分单双引号,两者均不解析变量

var name='旭哥'

console.log('name有没有通宵')//name有没有通宵
  • 变量的拼接 +

    var newStr=name+‘有没有通宵’

    console.log(newStr)

    输出:旭哥有没有通宵

    拼接,先正常写需要的,然后在变量左右写’'然后再在它左右写+

    ​ var name=“旭哥”
    ​ var age=20
    ​ var newStr2=’’+name+‘说:"我今年’+age+‘岁"’
    ​ console.log(newStr2)

    旭哥说:“我今年20岁”

转义字符 \

var a="<p style=\"color:red\"></p>"

输出:"

"

单双引号嵌套

注意建议使用单引号,和标签的双引号区分

var a='<p style="color:red\"></p>

输出:"

"

boolean类型

  • 常用于判断
  • 在计算时会自动将true为1,false为0

数值类型number

  • 整形和浮点型打印类型都是number

  • 整占4字节(取值范围:2的正负53次方),浮占8字节

    注意整形超过取值范围则自动转换为浮点型保存

    ​ 浮点型后若小数点无具体的值,则自动转为整形

    var a=10.00000
    console.log(a)
    

进制的转换(麻烦)

注意字母不区分大小写

var num=023;//19   0开头默认优先考虑8进制
var num1=029;//十进制
console.log(num1)//29
var num2=0xa;//0x代表十六进制
var num3=0xA;
console.log(num2)//11
console.log(num3)//11
console.log(num)//19
console.log(typeof num)//number

科学计数法

e代表10的多少次方

注意e也为数值类型

var num=3.14e2;//3.14x10x10
consolo.log(typeof num)//number
var num=3.14e-2;//0.0314

无穷 Infinity

除数不能为0

var num=0/10;//0  number
var num=10/0;Infinity   number
console.log(num)//Infinity
console.log(typeof num)//number

小数的计算

注意永远不相信js中的小数的计算,更不能将其结果进行判断,因为不准

单精度和双精度的影响

​ 遇到小数乘以倍数变为整数判断

console.log(0.1+0.2)//部位0.3
console.log(0.2+0.1 == 0.3)//false
console.log(0.2+0.3 == 0.5)//true
console.log(1+2 ==  3)//true

NaN

  • not a number 不是一个数的数值类型

  • NaN自己都不认识自己

    console.log(NaN==NaN)//false
    console.log(NaN===NaN)//false
    
  • 注意纯数字的字符串在运算时直接转换为数值

    var num=2*'200'
    console.log(num)//400
    

    注意当加号两边为数值,则进行加法运算,当两边有字符串,则为拼接号

    var num=10+'10';
    console.log(num)//1010
    
  • 只要有NaN的计算,其结果都为NaN

    console.log(NaN == NaN)//false
    console.log(NaN === NaN)//false
    var num = NaN + 3;//NaN
    var num = NaN - 3;//NaN
    var num = NaN * 3;//NaN
    var num = NaN / '3';//NaN
    console.log(num)
    
    
  • 如何产生的?

    希望运算的到一个数值类型,但没有得到

var num=2*'傻逼';//NaN
var num=2*'300px';
console.log(num)//NaN
console.log(typeof num)

对象类型

  • 对象的定义方式

对象 object

1.通过实例化生成对象

new Object() 生成的对象叫做实例化对象

var obj=new Object();
console.log(obj)//{}
console.log(typeof obj)//object

2.使用字面量的方式定义

var obj={};
console.log(obj)//{}
console.log(typeof obj)//object

关键js中最大的对象为window

对象的属性---------理解为变量

对象的方法----------理解为函数

  • 定义对象的属性
var name='张三'
console.log(window.name)//张三
var dog=new Object();
dog.name='后裔';
dog.sex='男';
console.log(dog.name)//大黄
  • 定义对象的方法

    dog.say=function(){
    	console.log('我会在家等你回来~~')
    }
    
    • 调用对象的方法
    dog.say()
    
    • 在生成对象时定义属性和方法(推荐使用)

      var cat={
      	//定义属性
      	name:'果冻',
      	age:'2',
      	//定义方法
      	eat:function(){
      		console.log('我什么都爱吃')
      	}
      }
      
      console.log(cat.name,cat.age)//果冻,2
      //调用方法
      cat.eat()
      

类型的转换

  • 隐式转换(了解)(自动转换)

    1、纯数字的字符串在运算时,会自动转换为数值进行计算(除了+,’+'作为连接符使用)

    2、布尔类型的值在运算时,true相当于1,false相当于0

    3、只有空字符串(’’)会转换为false,只要有内容,则会转为true

    4、数值类型除了0以外其余都转换为true(除了NaN),0将转换为false

    tofixed(n)设置固定的小数位数

    console.log(5*'5')//25 number
    console.log(5*'5a',typeof)//NaN number
    console.log(5+'5')//55 string   +两侧为字符串则拼接
    console.log(2+true)//3 number
    
    //只有空字符串('')会转换为false,只要有内容,则会转为true
    var flag='';
    if(flag){
    	console.log('true')
    }else{
    console.log('false')
    }
    结果:false
    
  • 强制转换为boolean类型

    注意boolean常用于判断

    字符串里面有值,转换为Boolean,为true

    字符串里面为空,转换为Boolean,为false

    var str=5;
    var res=Boolean(str)
    console.log(res)//true
    
    var a='abc'//true
    var b=' '//true
    var c=''//false
    
  • 强制转换为字符串类型

    String()

    toString()建议使用

    var num=10;
    //var res=String(num);
    var res=num.toString();
    console.log(num)
    console.log(typeof res)//string
    
  • 强制转为数值类型

    强制转为整形parseInt()(重点)

    注意1.小数转整形的时候,直接将小数点后去掉,不存在四舍五入

    ​ 2.可以识别16进制和10进制不识别八进制

    ​ 3.识别字符串,结果为第一个字母之前的值,若第一个字母之前没有值,则为NaN

    var num=9.1;//9
    var num=9.9;//9
    var num='0xa';//10 可以识别16进制
    var num='023'//23  不识别8进制,默认为十进制
    var num='123abc'//123 解析字符串  结果为第一个字母之前的值
    var num='1a2b3c';//1
    var num='abc123';//NaN
    var res=parseInt(num)
    console.log(res)//9
    

    parseInt(String,radix)(了解)

    var str='023';
    var res=parseInt(str)//23 十进制,不写基数,默认十进制
    var res=parseInt(str,0)//23 十进制
    var res=parseInt(str,8)//19 8进制
    var res=parseInt(str,16)//35 16进制
    

    强制转为浮点型parseFloat()

    1.解析字符串,保留小数

    2.不解析进制

    3.识别小数,但只识别第一个小数点

    var str='0xa';//0 不解析进制
    var str='123abc'; //123 解析字符串,保留第一个字母之前的,可以取像素
    var str='3.14a';//3.14
    var str='3.140080.1221';//3.14008 只识别第一个小数点
    var res=parseFloat(str)
    

    强制转换为数值类型Number()

    1.解析进制

    2.只解析纯数字

    var str='0xa';//10
    var str='123abc';//NaN
    var str='123';//123
    var res=Number(str)
    console.log(res)
    

    补充toFixed()保留指定的小数位数,能四舍五入,变为string类型

    var num=36.00;
    console.log(num)//36
    var num=25;
    var num=3.1415;//3.14
    var num=9.9999;//10.00
    var res=num.toFixed(2);
    console.log(num)//25.00 string
    
  • 总结转换的表格

    parseInt()parseFloat()Number()toFixed()
    解析字符串是,保留第一个字母之前的值是,保留小数
    解析进制是,只解析16进制
    解析数是,去掉小数部分,不四舍五入是,只识别第一个小数点之前是,只解析纯数字
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值