js基础语法
Netcape
js基础语法规范(ECMAScript1,2,3,3.1,5(IE9),6 ES ES6=es2015) DOM BOM
BOM :是由浏览器厂商各自实现的,所以差异比较大
DOM:相关的规范 是由W3C维护的
Node的优势 没有浏览器的兼容性问题
前端项目尽量不要使用ES6,需要考虑兼容性问题
--------------------------------数据类型---------------------------
1.数据类型分类:
基本数据类型:number string boolean undefined null
复杂数据类型:对象(数组,函数,日期)
undefined:数据未定义的一种状态
2.typeof 返回的数据类型
可以返回这六种数据类型:number string boolean function undefined object
日期,数组,正则都是object类型
可以使用typeof来检测前5中的数据类型 ‘
注意返回的是字符串 小写
console.log(typeof alert());//function 使用typeof检测函数 返回的是function
3.逻辑运算符
&& : 左边为真的话,返回右边;左边为假的话,返回左边 (如果左边为真,需要计算右边所以会返回右边的结果)
|| :左边为真的话,返回左边;左边为假的话 返回右边 (如果左边为真,就不需要再计算右边了,所以会直接返回左边的值)
console.log(undefined && 10);//undefined
console.log(0 || 3);//3
真假值:
假值: 空字符串"" 数值0 false null(声明的变量赋值了但是赋值的是空值) undefined(变量声明了但是没有定义) NaN(不是一个数字,NaN本身是number类型的)
4.获取对象未定义的属性的话返回的是undefined不是 is not defined
var obj = {name:‘‘xiaoming"};
console.log(obj.age);//undefined
5.值类型 引用类型
值类型:数字 字符串 boolean null undefined
引用类型:对象
5. instanceof
var result = obj instanceof XXX;
返回值是一个boolean类型
检测obj是否是XXX类的一个实例
varobj={};
console.log(obj instanceofObject);
vararr=[1,2,3,4];
console.log(arr instanceofArray);
constructor属性:保存了对构造特定对象实例的函数的引用
console.log(arr.constructor==Array);//true
console.log(obj.constructor==Object);//true
console.log(num.constructor==Number);//true
代码调试 异常捕获
面向对象基础复习
构造函数和原型
变量声明提升(词法作用域 原理性的介绍)
作用域:全局作用域 局部作用域(写一个函数就产生了一个局部作用域)
functionbar(){
functionfoo(){}
foo=10;//2.给变量foo赋值 10 foo变为了一个number类型
// function foo() {}//1.函数声明 提升到当前作用域的顶端
returnfoo;//3.将number类型的的foo返回
}
// console.log(foo);
console.log(typeofbar());
functionfun(a,b){
for(vari=0;i<arguments.length;i++){
console.log(arguments[i]);//分别打印的函数的参数
}
returna+b;
}
console.log(fun(3));//NaN 3+undefined 得到是一个NaN
varfoo=functionbar(name){
console.log("hello"+name);
};
foo("world");
//bar();//无法打印 bar is not defined
/*在函数内部,bar可以被访问,此时的bar就相当于foo,相当于函数本身*/
//只能通过打印foo.toString()从而找到bar
console.log(foo()==bar());
console.log(foo.toString());//打印的是function bar(name) 函数体
function t1() {
console.log(str2); //is not defined
str2 = ‘mike‘;
}
t1();
第一种情况涉及到JavaScript的运行阶段,分为词法分析阶段和运行阶段,在词法分析阶段时,先声明了str2变量但没有赋值,所以在运行阶段就出现了undefined。
第二种情况在词法分析阶段也无法声明str2,因为没有var关键字声明,所以在运行阶段直接抛出异常。
js基础语法
Netcape
js基础语法规范(ECMAScript1,2,3,3.1,5(IE9),6 ES ES6=es2015) DOM BOM
BOM :是由浏览器厂商各自实现的,所以差异比较大
DOM:相关的规范 是由W3C维护的
Node的优势 没有浏览器的兼容性问题
前端项目尽量不要使用ES6,需要考虑兼容性问题
--------------------------------数据类型---------------------------
1.数据类型分类:
基本数据类型:number string boolean undefined null
复杂数据类型:对象(数组,函数,日期)
undefined:数据未定义的一种状态
2.typeof 返回的数据类型
可以返回这六种数据类型:number string boolean function undefined object
日期,数组,正则都是object类型
可以使用typeof来检测前5中的数据类型 ‘
注意返回的是字符串 小写
console.log(typeof alert());//function 使用typeof检测函数 返回的是function
3.逻辑运算符
&& : 左边为真的话,返回右边;左边为假的话,返回左边 (如果左边为真,需要计算右边所以会返回右边的结果)
|| :左边为真的话,返回左边;左边为假的话 返回右边 (如果左边为真,就不需要再计算右边了,所以会直接返回左边的值)
console.log(undefined && 10);//undefined
console.log(0 || 3);//3
真假值:
假值: 空字符串"" 数值0 false null(声明的变量赋值了但是赋值的是空值) undefined(变量声明了但是没有定义) NaN(不是一个数字,NaN本身是number类型的)
4.获取对象未定义的属性的话返回的是undefined不是 is not defined
var obj = {name:‘‘xiaoming"};
console.log(obj.age);//undefined
5.值类型 引用类型
值类型:数字 字符串 boolean null undefined
引用类型:对象
5. instanceof
var result = obj instanceof XXX;
返回值是一个boolean类型
检测obj是否是XXX类的一个实例
varobj={};
console.log(obj instanceofObject);
vararr=[1,2,3,4];
console.log(arr instanceofArray);
constructor属性:保存了对构造特定对象实例的函数的引用
console.log(arr.constructor==Array);//true
console.log(obj.constructor==Object);//true
console.log(num.constructor==Number);//true
代码调试 异常捕获
面向对象基础复习
构造函数和原型
变量声明提升(词法作用域 原理性的介绍)
作用域:全局作用域 局部作用域(写一个函数就产生了一个局部作用域)
functionbar(){
functionfoo(){}
foo=10;//2.给变量foo赋值 10 foo变为了一个number类型
// function foo() {}//1.函数声明 提升到当前作用域的顶端
returnfoo;//3.将number类型的的foo返回
}
// console.log(foo);
console.log(typeofbar());
functionfun(a,b){
for(vari=0;i<arguments.length;i++){
console.log(arguments[i]);//分别打印的函数的参数
}
-
知识推荐
- php之cookie
- CSS3 渐变(Gradients)
- 单点登录跳转失败(原因是 主票据申请子票据失败) asp.net 同站点下不同应用间不同版本Framework问题
- ThinkPHP实现导出Excel表格
- 从"汉诺塔"经典递归到JS递归函数
- HTML+CSS页面练习——legend第二部分
- Ajax
- hibernate入门
- 史坑:.Net core 2.0 体验
- gecode 中的metainfo
- jsp476教学科研项目管理系统ssh
- HTTP头详解:
- JS---Math.Random()*10--[0,10)随机变颜色
- laravel的源码解析:PHP自动加载功能原理解析
- Jquery 清空input ?file的值
- Web下的HTTPS应用
- mvc ?返回一个对象 ?到视图接收
- CSS3小知识点
我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8
不良信息举报平台
互联网安全管理备案
Copyright 2023 www.wodecom.cn All Rights Reserved