function hasArrayBufferSupport() {
	var bool;
	var view;
	var buf;

	if ( typeof GlobalArrayBuffer !== 'function' ) {
		return false;
	}
	// Test basic support...
	try {
		buf = new GlobalArrayBuffer( 16 );
		bool = ( isArrayBuffer( buf ) && typeof GlobalArrayBuffer.isView === 'function' );
		if ( bool ) {
			view = new Float64Array( buf );
			view[ 0 ] = -3.14;
			view[ 1 ] = NaN;
			bool = (
				bool &&
				GlobalArrayBuffer.isView( view ) &&
				buf.byteLength === 16 &&
				view[ 0 ] === -3.14 &&
				view[ 1 ] !== view[ 1 ]
			);
		}
	} catch ( err ) { // eslint-disable-line no-unused-vars
		bool = false;
	}
	return bool;
}
Tests for native `ArrayBuffer` support.

@returns {boolean} boolean indicating if an environment has `ArrayBuffer` support

@example
var bool = hasArrayBufferSupport();
// returns <boolean>