javascript基础知识show
1、javascript的数据类型是什么
基本数据类型:String,boolean,Number,Undefined,Null
引用数据类型:Object(Array,Date,RegExp,Function)
判断某变量是否为数组数据类型:
方法1、判断其是否具有“数据性质”,如slice()方法.(但是我们可以自己给变量定义slice方法,故有时会失效)
方法2、obj instanceof Array 在某些IE版本中不正确。
方法3、方法1、2均存在漏洞,在ECMA Script5中定义了新方法Array.isArray(),保证其兼容性,最好的方法如下:
2、已知ID的input输入框,希望获取这个输入框的输入值。(不使用第三方框架)
document.getElementById("ID").value;
3、希望获取页面中所有的checkbox怎做(不使用第三方框架)
function _selectCheckBox(){
var domList = document.getElementsByTagName('input');
var checkBoxList = [];
var len = domList.length;//缓存到局部变量
while(len--){ //使用while的效率会比for循环更高
if(domList[len].type=='checkbox'){
checkBoxList.push(domList[len]);
}
}
alert(checkBoxList);
}
4、设置一个已知ID的html内容为xxx,字体颜色设为黑色(不使用第三方框架)
var dom = document.getElementById("ID");
dom.innerHTML ="xxx";
dom.style.color ="#000";
6、 当一个DOM节点被点击时候,希望执行一个函数,怎做?
-- 直接在DOM里绑定事件:<div onclick="test();"></div>
-- 在js里通过onclick绑定:xxx.onclick=test;
-- 通过事件添加进行绑定:addEventListener(xxx,'click',test);
7、java的事件流模型:
-- “事件冒泡”:事件开始由最具体的元素接受,然后逐级向上传播。
-- “事件捕捉”:事件由最不具体的节点先接收,然后逐级向下,一直到最具体的。
--“DOM事件流”:三个阶段:事件捕捉、目标阶段、事件冒泡
8、what's Ajax and JSON,和优缺点。
Ajax是异步JavaScript的xml,用于在web页面中实现异步数据交互。
优点:
-- 可以使用页面不重载全部内容的情况下加载局部的内容,降低数据传输量
-- 避免用户不断刷新或者跳转页面,提高用户体验。
缺点:
-- 对搜索引擎不友好
-- 要实现Ajax下的前后退功能成本比较大。
-- 可能造成请求书的增加
-- 跨域问题限制
JSON是一种轻量级的数据交换格式,ECMA的一个子集。
优点:
轻量级、易于人的阅读和编写,便于机器(JavaScript)解析,支持复合数据类型(数组、对象、字符串、数字)
8、如下代码输出为?原因。
var a;
alert(typeof a); //undefined
alert(b);//报错
释:Undefined是一个只有一个值的数据类型,这个值就是“undefined”,在使用var声明变量但并未对其赋值进行初始化时,这个变量的值就是undefined。而b由于未来声明将报错。注意未声明的变量和声明了未赋值的是不一样的。
9、如下代码输出为?原因。
var a = null;
alert(typeof a);// object
解释:null是一个只有一个值的数据类型,这个值就是null。表示一个空指针对象,所以用typeof检测会返回“object”.
10、如下代码给出结果
var a = new Object();
a.value=1;
b=a;
b.value =2;
alert(a.value);
//引用数据类型细节
11、一直数组 var stringArray = ["This","is","Baidu","campany"],alert出 “This is Baidu Campany”.
function _combo(){
var foo="get-element-by-id";
var arr = foo.split("-");
for( var i=1;i<arr.length;i++){
arr[i]= arr[i].charAt(0).toUpperCase()+arr[i].substr(1,arr[i].length-1);
}
var msg = arr.join("");
return msg;
}
12、var numberArray = [3,2,1,4,5,6];
-- 对数组进行倒排 输出 [6,5,4,1,2,3];
-- 实现对该数组的降序排列,输出[6,5,4,3,2,1];
var numberArray = [3,2,1,4,5,6];
numberArray.reverse();//[6,5,4,1,2,3];
numberArray.sort(function(a,b){
return b-a;
})
13、输出今天的日期,以YYYY-MM-DD的方式,
var d = new Date();
//获取年,getFullYear()返回四位数
//获取月,月份比较特殊,0是1月,11是12月,
var month = d.getMonth()+1;
//变为两位
month = month<10? '0'+month:month;
//获取日
var day = d.getDate();
day = day<10? '0'+day:day;
alert(year+'-'+month+'-'+day);
14、foo = foo||bar 代码含义
if(!foo) foo=bar;//如果foo存在 值不变,否则把bar赋值给foo;
javascript基础知识show的更多相关文章
- Javascript基础知识总结一
Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- JavaScript 基础知识 - BOM篇
前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...
- (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识
开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...
- JavaScript基础知识整理
只整理基础知识中关键技术,旨在系统性的学习和备忘. 1.在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN ...
- Jquery源码中的Javascript基础知识(三)
这篇主要说一下在源码中jquery对象是怎样设计实现的,下面是相关代码的简化版本: (function( window, undefined ) { // code 定义变量 jQuery = fun ...
- JavaScript基础知识从浅入深理解(一)
JavaScript的简介 javascript是一门动态弱类型的解释型编程语言,增强页面动态效果,实现页面与用户之间的实时动态的交互. javascript是由三部分组成:ECMAScript.DO ...
- JavaScript基础知识必知!!!
JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型. JS作用:表单验证,减轻服务端的压力:添加页面动画效果:动态更改页面内容:Ajax网络请求. 下面简单介 ...
- javascript基础知识笔记-自用
笔记内容根据个人基础知识不足不明白之处做的记录.主要看的:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript 1.变量,变量的名字又叫标识符 ...
随机推荐
- Python开发程序:RPC异步执行命令(RabbitMQ双向通信)
RPC异步执行命令 需求: 利用RibbitMQ进行数据交互 可以对多台服务器进行操作 执行命令后不等待命令的执行结果,而是直接让输入下一条命令,结果出来后自动打印 实现异步操作 不懂rpc的请移步h ...
- 几种获取IP 根据IP获取地址的方法 JS,第三方 新浪 网易 腾讯
第一种是利用纯真ip数据库,这个可以在网上找到很多,缺点是更新有点慢. 第二种是利用门户网站的接口 目前已知的有腾讯.新浪.网易.搜狐和Google提供IP地址查询API,但是找得到的只有腾讯.新浪和 ...
- Let’s Encrypt 配置
刚配置了下Let's Encrypt,chrome浏览器里有绿条出来,看官网其它平台问题应该也不大.我还没有研究这个工作原理,关键是刚花了几千块给公司买了个收费的证书认证.这里写下配置过程(https ...
- 使用Cordova编译Android平台程序提示:Could not reserve enough space for 2097152KB object heap
大体的意思是系统内存不够用,创建VM失败.试了网上好几种方法都不行,最后这个方法可以了: 开始->控制面板->系统->高级设置->环境变量->系统变量 新建变量: 变量名 ...
- aischool 倒计时VIEW封装
@implementation TWPaperTimeCountLabel { NSInteger miaoshu; dispatch_source_t _timer; } -(id)initWith ...
- git 远程版本库,github提供服务原理,git自动更新发送邮件
1.安装好Linux,安装好Git(192.168.1.239) 2.创建一个用户zph(让此用户提供git on server),密码设置为12345678 # useradd zph # pass ...
- android selector 开始自定义样式
Selector的结构描述: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:a ...
- CEGUI环境配置
由于最近项目需要CEGUI做界面,于是我去下载了CEGUI源码,但是却不知道怎么搭建.网上的教程都不是很详细,不能让我们这种新手理解,经过几天折腾,终于弄好了,特此记录下来. 1.下载官网CEGUI源 ...
- js通过隐藏iframe修改session值
js:function selects(id, ss) { window.frames["UpSession"].window.location.href = "../U ...
- AngularJs的UI组件ui-Bootstrap---tabs控件
tabs控件使用uib-tabset指令和uib-tab指令,效果是这样的: <!DOCTYPE html> <html ng-app="ui.bootstrap.demo ...